mysql 用户授权增删改查2_mysql二--增删改查

我们学的mysql,其实是学的sql语言,sql语言全称:结构化查询语言

一、sql语言分类

sql语言分类:

DQL:数据查询语言 (select)

DML:数据操作语言(delete、update、insert)

DDL:数据定义语言(drop、create等)

TPL:事物处理语言(保证被DML影响的行能够及时得到更新)

详细介绍:

使用的数据库模型:

66cf3299f9f221f8437a8c8b86957776.png

添加的数据:

2e19a3416a945782ec6db6c9888ece41.png

1、DQL:数据查询语言

select * from student;   //查询全部

select * from student where id=2;  //根据条件查询,where后写查询条件

2、DML:数据操作语言

①添加 insert

格式:insert into 表名 [(字段1,字段2.....)]  values (值1,值2.....),(值1,值2.....);

第一种:insert into student(name,address)  values  ("陈平安","浩然天下"),("阿良","浩然天下");

第二种:insert into student values(null,"陈平安","浩然天下"),(null,"阿良","浩然天下");

不同之处:第一种声明了表中的字段,这样添加行数据时,不用每个字段都写,只写前边声明的就行。第二种没有声明字             段,所以每个字段都要写对应的值,id在创建表时设定为主键自增,就设为null就好,后边在介绍。

②更新  update

格式:update 表名 set 字段1=值1,字段2=值2  where  字段=值;

uddate student set name="猛" where name="阿良";

③删除 delete

格式:delete from student where 字段=值;

delete from student where id=4;

二、数据完整性

数据完整性包括:实体完整性、域完整性、引用完整性、自定义完整性(mysql中没有定义这个)

1、实体完整性

作用:保证数据表中行数据的唯一性

实现:给数据库表添加一个主键。

要求:主键要求不能为null,不能重复

主键是什么?

主键是表中的一列,其值能保证行数据的唯一性。在创建表或更改表时,可以通过primary key来创建主键。一个表中只能使      用primary key一次,并且使用primary key修饰的列不接受空值。

主键的作用:

①确保实体的数据完整性

②加快了数据的的操作速度

③当向表中添加新数据时,数据库会对比添加的主键值和表中存在的主键值是否重复

④表中数据按照主键值来确定显示顺序,如果没有主键值,则按添加的先后顺序来确定显示顺序。

主键的特点:

①不为null

②不重复

③无意义

自增控制  :auto_increment            不为空:not null        不重复:unique

问:既然primary key 和unique not null组合都是不为空,不重复,那是否可以相互替换。

答:不能。使用primary key后,会生成索引文件,提高数据库表的操作速度。而unique not null不行。

注:不是因为有索引文件,操作数据库表的速度变快,而是因为索引算法。数字使用b+tree,汉字使用hash值

创建表中声明主键:

create table student(id int(20) primary key auto_increment);

2、域完整性

作用:保证输入的值在设定的范围内,比如性别为男女,年龄设置为不超过40岁。

设置默认值: default

非空约束:not null

创建表中给列值设置默认值,并不为空:

create table student(id int(20) primary key auto_increment,sex varchar(20) not null default "男");

3、引用完整性  外键

foreign key(外键)用来保证表与表之间数据的完整性,是建立在主键基础之上的。体现了表与表之间的关联性。要现有主键数据,  才能添加外键数据。外键要和主键数据类型保持一致。

如果一个实体中的某个字段指向另一个实体的主键,那个字段就叫外键。

如果一个表中的某个列指向另一个表中的主键,这个字段就叫外键列。

被指向的实体的叫做父实体(父表),或主实体(主表)。

负责指向的实体叫做子实体(子表),或从实体(从表)。

mysql系统禁止用户做以下操作:

①在主表中没有关联的记录时,往从表中添加数据。

②将主表中的值导致从表中的值孤立

③将主表中的记录删除,但是从表中仍有与该记录相关联的数据。

实例表:

d56595ebe544810248d67ed8a1446f30.png

348480dfd85695ef536cadd32b898b37.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值