MySQL约束and增删查改

本文介绍了MySQL中表的约束,包括空属性、默认值、列描述、主键、唯一键、外键和zerofill。接着详细阐述了增删查改操作,如replace into、查询语法、去重、条件查询、排序、分页以及更新数据时的注意事项。重点强调了主键和唯一键的区别以及在查询和更新时添加约束条件的重要性。
摘要由CSDN通过智能技术生成

表的约束:
定义的一个字段的时候,[字段名称+字段类型];表的约束是在约束插入数据的时候,每一个字段的条件;
1、空属性:NULL(可以为NULL), & NOT NULL(不可以为NULL)
表示当前字段值是否可以为NULL
2、默认值:给定义默认属性的字段插入数据的时候,当没有插入数据的时候,自动加入定义的默认值;
3、列描述:对字段的内容并没有约束,而是相当于每一个字段的注释信息(log信息);
4、主键:
primary key
主键并不是开辟了一个新的列,而是给某一列给设置了一个属性,该属性该约束当前字段的内容不能重复,不能为NULL
一张表中只能有一个主键;
主键可以唯一标识一行数据;
5、zerofill :约束了数据的宽度,如果数据的宽度不够,则用0进行填充;
6、唯一键约束
关键字:UNIQUE,也是给某个字段设置一个属性,该属性设置字段的内容,设置字段内容不可以重复但是可以为NULL;
主键比唯一键多了一个约束字段内容,不可以为NULL,但是一张表可以有多个UNIQUE
7、外键:
定义了主表和从表的关系
主表一般存放的是基础属性,例如班级属性;
从表:存放具体业务信息;
主表当中被其他从表认为是外键的字段,必须是主键约束或者唯一键约束的字段,原因是数据不能重复;
foreign key [从表字段名称] references [主表字段名称] ;

表的增删查改:
1、replace into [tablename] [feildName] values ([字段对应的值] , [字段对应的值],)
注意:如果替换的数据不存在主键或者唯一键冲突,表的数据没有冲突,则插入一行数据
表当中有冲突的数据,则删除之后再插入;

注意:对于一些在插入数据的时候,是整形插入,但是后期有可能需要进行计算(增删查改)的数据,在定义字段的类型的时候,尽量定义为浮点数(float,double,decimal) ;
2、查询
1)全列查询
slect * from tablename ;
“*”:当前表的所有列;
注意:对于字段比较少的表并且插入数据比较少的表可以使用全列查询,查询的效率不会受到太大的影响;
但是 ,如果一个表中的字段比较多,或者数量比较大,则全列查询会导致查询的效率降低 ;
2)指定列查询
slect [字段名称] ,[字段名称] from [表名称] ;
3) 查询的时候,表达式当中包含一个字段
select [字段名称] , [字段名称] , [表达式[字段名称]] from [表名称] ;
4) 去重
关键字:distinct
select distinct * zongfen from tablename ;
以上就是全列或者指定列数据查询,前面的sql语句特点:查询表中所有行的数据;
下面:在全列和指定列上查询数据,可以指定只查询某个具体行的数据,或者具体满足某个条件的数据;
查询的时候,可以加上约束条件,来约束查询结果,满足结果的数据才输出;
关键字:where 条件:对查村结果进行约束
where 字句:where [字段名称]字段名称][比较值];
eg : where yingyu < 60 ;

,>=,<,<=符号,使用方式一致;
or
and

匹配字符串的时候:
模糊查询:需要搭配like共同使用;
“-” : 严格匹配任意的一个字符串;
“%”:可以匹配任意多个字符;

NULL查询:
IS NOT:不是xxx
=和<=> :都是表示等于的运算符
区别:=在数据库查询的时候并不是安全的,空和空并不是相等的;
空和空使用"="进行比较的时候,还是NULL;
<=> "在数据库查询的时候是安全的,空和空进行比较的时候为1 ;

对查询结果进行排序:
关键字:order by [字段名称]
规则:按照order by 后面的字段的内容进行排序,将结果输出
默认的顺序升序ASC,降序为DESC,直接将升降序关键字加到语句的后面;
注意:返回的排序的顺序是未定的,所以在实际的应用当中,不要依赖排序结果,排序根据插入情况动态变化;

筛选分页结果:
方式1:limit n :从0开始,筛选n条结果;
方式2:limit s , n :从s开始,筛选n个结果;
方式3:limit n offset s :从s开始筛选n个结果;

update:更新表数据
update [tablename] set [字段] = [更改后的值] where 约束条件 ;(对所有的删除改动不加约束条件都是对所有的数据进行更改,及其危险) ;
注意:更改一行数据的时候,一定要加条件,否则就全表更新;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值