mysql基本操作指令(二)

来源:互联网 发布:天猫销售数据 编辑:程序博客网 时间:2024/05/20 23:52
1、mysql中的decimal数据类型(不常用)
decimal(length, precision)用于表示精度确定(小数点后数字的位数确定)的小数类型,length决定了该小数的最大位数,precision用于设置精度(小数点后数字的位数)。
create table students(
id decimal(3,2),
name varchar(8) not null,
sex char(4) not null
);

2、创建表
create table student(
id int unsigned not null auto_increment primary key,
name varchar(8) not null,
sex char(4) not null
)engine=InnoDB default charset='utf8';
注意不存在utf-8

·设置主键(Primary Key)约束

如果一个表的主键是多个字段的组合(例如字段名1与字段名2共同组成主键),定义完所有的字段后,使用下面的语法规则将(字段名1, 字段名2)设置为复合主键。primary key (字段名1, 字段名2)

·MySQL自增型字段的值从1开始递增,且步长为1。设置自增型字段的语法格式如下。   

字段名 数据类型 auto_increment

·复制一个表
方法一:在create table语句的末尾添加like子句,可以将源表的表结构复制到新表中,语法格式如下。
create table 新表名  like 源表;
方法二、在create table语句的末尾添加一个select语句,可以实现表结构的复制,甚至可以将源表的表记录拷贝到新表中。下面的语法格式将源表的表结构以及源表的所有记录拷贝到新表中。
create table 新表名 select * from 源表;
3、添加约束条件
alter table 表名 add constraint 约束名 约束类型 (字段名)
例:如果没有主键,添加主键约束。
alter table ss add constraint pp primary key (id);
列:添加外键约束
alter table ss add constraint aa foreign key (ip) references s (id);
·删除约束条件
(1)删除表的主键约束条件语法格式比较简单,语法格式如下。
alter table 表名 drop primary key
4、mysql在cmd中乱码问题
MySQL是默认utf8编码的,所建数据库也是设置utf8编码,使用程序可以新增中文数据,在cmd中使用SQL语句新增数据则报类似Incorrect string value: '\xB2\xE2\xCA\xD4' for column 'title' at row 1错误,而使用SQL语句查询出之前程序所新增中文数据都是乱码的。 

右击在cmd界面上面边框→属性→选项 ,查看cmd的编码方式是是GBK,并不是utf-8。 其实数据库内部是没有乱码的,只是和cmd的编码方式不一样,在cmd呈现出来的中文数据才是乱码的,也造成了新增不了中文数据的情况。 
使用MySQL的图形界面管理工具则不存在此问题了。 
直接在mysql>下输入 set names gbk; 即可解决问题。
0 0