数据的查询操作

查询数据:

  • 作用: 查询数据就是客户端通过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;

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值