查询数据:
-
作用: 查询数据就是客户端通过DBMS 从数据库中取出满足条件的数据
-
语法: select 字段名列表 from 表名
select * from stu
插入数据:
- 作用: 向数据库中插入数据
- 语法: insert into 表名【(字段名 列表,…)】 values(值列表…)
insert into tstudent values(1,'tom',20)
- 插入指定的字段
可以插入指定的字段,指定字段的内容和列表顺序中的内容可以不同 值顺序要和指定的列顺序相同
insert into stu(sage,sname) value(20,'jack');
-
插入多条数据
insert into stu values(2,'rose','20'),(3,'tony','2')
修改数据
作用:可以根据指定的条件 修改更新满足条件的数据
语法:update 表名 set 字段 =值 【条件】- 更新所有的数据
update stu set sAge = 25;
-
更新满足条件的数据
update stu set sname ='alice' where name ='tony';
删除数据
作用:将数据从数据库中删除
语法1:truncate表名
语法2 :delete from 表名【条件】
- 删除全部数据
truncate stu;
- 不需要添加条件 也不能添加条件 删除全部数据 重置会自动编号到默认值 没有事务速度快
delete from stu ;
和truncate 操作相似 但是delete操作有事务操作 所以速度慢 而且不会重置自动编号
- 删除满足条件的数据
delete from stu where snumber = 1;
添加约束条件
概念:约束 是一种限制 它通过表的行或列的数据做出限制,来确保表数据的准确性 完整性 唯一性 可靠性 联动性
- 如果没有对字段进行约束会出现的问题
1 数据冗余
两个表中都存在学生姓名 没有必要
2 失去数据的完整性
3 数据缺少唯一标识符
4 失去实体的完整性
5 失去域的完整性
6 失去引用的完整性
数据库常用的约束
1 主键约束 作用: 让数据具有唯一标识语法: primary key
create table tpk(id int priamry key ,name char(10));
字段被设置了主键约束,同时也具有了唯一性约束和非空约束 在字段中插入重复数据时 后补个数据时会报错
1 自动增长作用: 让数字值自动累加 语法:auto_increment 自动增长设置在数据型字段上 需要配合主键约束一起使用 如果字段没有设置主键约束 是不允许设置自动增长的
create table tai(ud int auto_increment primary key, name varchar(10));
2 唯一性约束: 作用: 保证数据的准确性 不会出现重复数据 语法:unique
create table tuni(id int unique,name char(10));
一个表中可以给多个字段设置唯一性 如果有需要的话
1 非空约束 作用:不允许字段为空 添加数据是必须给值 语法 not null
create table tnn(id int,name char(10) not null);
2 默认约束 作用 在添加数据时 如果没有给定有默认约束字段的数据 该字段使用默认值 填充 语法 default
create table tdt(id int , name char(10) default 'NoName');
3 外键约束 作用: 让两表之间产生联动关系 语法 : foreign key(字段名)references 表名(字段名)
--- 表一
create table fClass(id int primary key,name char(10));
--- 表二
create table fStudent(id int primary key auto_increment , name char(10), cid int , foreign key(cid) references fClass(id));
设置外键约束字段所关联的字段 必须是主键约束的字段
想要删除有设置外键的表 必须先删除外键锁关联的表
drop table fStudent;
drop table fClass;
检查约束(在MYSQL中无效,不起作用)作用: 设置字段的域范围 也就是有效值的范围 语法 check(值范围条件)
create table tchk(id int ,age int check(age >0 and age <150),gender char(10) check('boy' or 'girl'));
增加删除约束
添加约束前应该保证字段上没有新添加的约束 删除约束事前应该保证该字段上有这个约束
1 添加主键约束 语法(alfter table 表名 add constrant 约束名 primary key(字段名)
alter table tpk add constraint pk_id primary key(id);
1 删除主键约束 因为一个表中最多只能有一个主键约束 所以可以直接删除 语法:after table 表名 drop primary key
2
alter table tpk drop peimary key ;
3 添加外键约束 语法:alter table 表名 add constraint 外键约束名 foreign key(外键字段名)references 关联表(关联字段名)
alter table tfk add constraint fk_id foreign key(id) references tpk(id);
删除外键约束 语法:alter table 表名 drop foreign key 外键名
alter table tfk drop foreign key fk_id;