一。约束条件 作用控制如何给字段赋值
NULL | key | default | extra
是否允许赋null值 键值 默认值 额外设置
null(允许为空) not(不允许为空) key(索引类型) default(设置默认值,缺省为null)
create table t7(name char (15) not null, (不允许为空)
class char(7) default "nsd1804", (设置默认值缺省为null)
age tinyint(2) not null default 19,
sex enum("boy","girl") not null default "boy"); (enum给定值中选择一个)set(给定值中选择一个或多个)
desc t7;
insert into t7(name)values("bob");(定义name的值为bob)
insert into t7 values("bob2","nsd1803",21,"girl"); (表结构对应的值)
insert into t7 values("null",null,22,"boy");
insert into t7 values("jim",null,22,"boy");
insert into t7 values("",null,31,"boy");(姓名为空字符也算一个值,)
select * from t7;
create table t8(name char(15) not null default "",
class char(7) default "nsd1804",
age tinyint(2) not null default 19,
sex enum ("boy","girl") not null default "boy");
insert into t8(class,age,sex)values("nsd1802",45,"boy");
select * from t8;
二,修改表结构 :对已经创建的表的结构做修改:
添加新字段 :格式用法:alter table 表名 add 字段名 类型(宽度) 约束条件;可加after字段名;或者first;
add
alter table db2.t8
add email varchar(50) default "student@tedu.cn",
add qq char(11);
desc t8;
select * from t8;
可加after字段名(在指定字段后面);或者first;(在所有字段前面)
alter table db2.t8
add stu_num char(9) first, (表结构在所有字段最前面)
add likes set("eat","sleeps","game","film") after sex; (字段likes在指定字段sex后面)
删除已有字段:alter table db2.t8 drop email;
删除多个:alter table db2.t8 drop email, drop qq;
desc t8;
select * from t8;
修改已有字段类型 : 格式:alter table 表名 modify 字段名 l类型(宽度) 约束条件; 可加可加after字段名;或者first;
modify
*修改字段类型时,若新的类型与字段已经存储数据冲突,不允许修改。
不修改的部分要原样写一遍,否则alter table t8 modify stu_num varchar(9);就是还原。
alter table t8 modify stu_num varchar(9);(不修改的写一遍)
alter table t8 modify
sex enum('boy','girl',"no") not null default "boy";(修改性别为boy)
desc t8;
(改变位置)
alter table t8 modify sex enum('boy','girl',"no") not null default "boy" after name;(sex性别默认值为boy,在表结构字段name后面)
select * from t8;
修改字段名 : 格式:alter table 表名 change 源字段名 新字段名 类型(宽度) 约束条件;
change
alter table t8 change stu_num stu_id varchar(9);(把字段stu_num 改名为stu_id)
select * from t8;
修改表 : 格式;alter table 表名 rename 新表名;
rename
alter table t8 rename