一文掌握SQL基础( 四 )


字段名 数据类型 DEFAULT 默认值;示例:MySQL命令:
create table student03(id int,name varchar(20),gender varchar(10) default 'male');运行效果展示:
 
5.唯一性约束唯一性约束即UNIQUE用于保证数据表中字段的唯一性,即表中字段的值不能重复出现,其基本的语法格式如下所示:
字段名 数据类型 UNIQUE;示例:MySQL命令:
create table student04(id int,name varchar(20) unique);运行效果展示:
 
6.外键约束外键约束即FOREIGN KEY常用于多张表之间的约束 。基本语法如下:
-- 在创建数据表时语法如下:CONSTRAINT 外键名 FOREIGN KEY (从表外键字段) REFERENCES 主表 (主键字段)-- 将创建数据表创号后语法如下:ALTER TABLE 从表名 ADD CONSTRAINT 外键名 FOREIGN KEY (从表外键字段) REFERENCES 主表 (主键字段);示例:创建一个学生表 MySQL命令:
create table student05(id int primary key,name varchar(20));示例:创建一个班级表 MySQL命令:
create table class(classid int primary key,studentid int);示例:学生表作为主表,班级表作为副表设置外键,MySQL命令:
alter table class add constraint fk_class_studentid foreign key(studentid) references student(id);运行效果展示:
 
6.1 数据一致性概念大家知道:建立外键是为了保证数据的完整和统一性 。但是,如果主表中的数据被删除或修改从表中对应的数据该怎么办呢?很明显,从表中对应的数据也应该被删除,否则数据库中会存在很多无意义的垃圾数据 。
6.2 删除外键语法如下:
alter table 从表名 drop foreign key 外键名;示例:删除外键 MySQL命令:
alter table class drop foreign key fk_class_studentid;运行效果展示:
 
外键的那个字段不在了证明删除成功了
6.3 关于外键约束需要注意的细节1、从表里的外键通常为主表的主键
2、从表里外键的数据类型必须与主表中主键的数据类型一致
3、主表发生变化时应注意主表与从表的数据一致性问题
六、数据表插入数据在MySQL通过INSERT语句向数据表中插入数据 。在此,我们先准备一张学生表,代码如下:
create table student( id int, name varchar(30), age int, gender varchar(30) );1. 为表中所有字段插入数据每个字段与其值是严格一一对应的 。也就是说:每个值、值的顺序、值的类型必须与对应的字段相匹配 。但是,各字段也无须与其在表中定义的顺序一致,它们只要与 VALUES中值的顺序一致即可 。
语法如下:
INSERT INTO 表名(字段名1,字段名2,...) VALUES (值 1,值 2,...);示例:向学生表中插入一条学生信息 MySQL命令:
insert into student (id,name,age,gender) values (1,'bob',16,'male');运行效果展示:
 
2. 为表中指定字段插入数据语法如下:
INSERT INTO 表名(字段名1,字段名2,...) VALUES (值 1,值 2,...);插入数据的方法基本和为表中所有字段插入数据,一样,只是需要插入的字段由你自己指定
3. 同时插入多条记录语法如下:
INSERT INTO 表名 [(字段名1,字段名2,...)]VALUES (值 1,值 2,…),(值 1,值 2,…),...;在该方式中:(字段名1,字段名2,…)是可选的,它用于指定插人的字段名;(值 1,值 2,…),(值 1,值 2,…)表示要插人的记录,该记录可有多条并且每条记录之间用逗号隔开 。
示例:向学生表中插入多条学生信息 MySQL命令:
insert into student (id,name,age,gender) values (2,'lucy',17,'female'),(3,'jack',19,'male'),(4,'tom',18,'male');运行效果展示:
 
七、更新数据在MySQL通过UPDATE语句更新数据表中的数据 。在此,我们将就用六中的student学生表
1. UPDATE基本语法 UPDATE 表名 SET 字段名1=值1[,字段名2 =值2,…] [WHERE 条件表达式];在该语法中:字段名1、字段名2…用于指定要更新的字段名称;值1、值 2…用于表示字段的新数据;WHERE 条件表达式 是可选的,它用于指定更新数据需要满足的条件
2. UPDATE更新部分数据示例:将name为tom的记录的age设置为20并将其gender设置为female MySQL命令:
update student set age=20,gender='female' where name='tom';运行效果展示:
 
3. UPDATE更新全部数据示例:将所有记录的age设置为18 MySQL命令:


推荐阅读