MySQL学习04
一.约束
约束:用于规定表中的数据规则。如人的身份证,每个人的身份证都是不同的,具有唯一性。
可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句)。
- NOT NULL 非空约束,不允许空值存在
- UNIQUE 唯一性约束,每个值都要唯一,不能重复。
- PRIMARY KEY 主键约束,主键具有非空性,唯一性,每个表都应该有一个主键,并且每个表只能有一个主键。联合主键,有跟主键一样的性质,由两个或以上的属性共同组成,如:学生的成绩,得由学号+课程号两个属性组成主键才能查出具体某课的成绩。
- FOREIGN KEY 外键约束,一个表中的外键指向另一个表中的 主键。如:假如有两个表:院系表(主键:院系号),学生表(主键:学号,外键:院系号)假如院系中的某个院系被删除了,那么就会报错,因为学生表中已经找不到这个系了。这里就说明了外键的作用,保持数据的一致性、完整性。当然反过来讲,你删除学生表中的记录,并不影响院系表中的数据,你查询院系号也能正确查询。所以删除外键表中的数据并不影响主键表。
- CHECK 检查约束,如:人的年龄正常不能小于0,大于200岁。
- DEFAULT 默认约束,用来设定默认值:如每一次往表中插入数据时,可以设定“性别“列默认值为男,那么每次插入数据如果是男的,就可以不用写。
二:表数据的操作
2.1 添加数据
创建表
create table animal(
sname varchar(10) NOT NULL,
sid int primary key,
sex char(5) default '雄');
插入数据
格式:insert into 表名 (列名1,列名2,…列名x)values(列1值,列2值,…列x值);
insert into animal(sid,sname,sex) values(10001,'dog','雄');
insert into animal(sid,sname,sex) values(20001,'pig','雄');
insert into animal(sid,sname,sex) values(30001,'cat','雌');
insert into animal(sid,sname,sex) values(10002,'dog','雌');
select *from animal;
2.2删除表数据
格式: delete from 表名 where 条件;
delete from animal where sid =10001;
2.3 修改表数据
格式: updata 表名 set 修改列名 = 修改值 where 条件;
update animal set sid =10001 where sname = 'dog';
2.4查询表数据
格式:select *from 表名1; 查询表1中的所有数据
select 列名1,列名2 from 表2 ;查询表2中的数据并只显示列1,列2。
select from 表3 where 条件;查询表3中满足“条件”的所有数据。
selectfrom 表4 where 列1 like ‘%值%’;查询表4中列1符合“某 值 某”的数据。
select count( *) from 表5 where 条件; 累计查询表5中满足条件的数据。
select *from animal;
select sid ,sname from animal where sid>10000;
select sid ,sname from animal where sname like '%d%';
select count(*) from animal where sid >10000;