sql数据库--CRUD增删改查

一.C(Create)创建新增--插入

语法:insert into 表名 [(列名[,列名]...)] values (值[,值]);

指定了多少列名,就需要指定多少值,值与列名一一对应

不指定列名,值的顺序与个数和表中所有的列一一对应

注:中括号内的内容是可以省略的

 先创建student表

接下来往表中插入数据

上面是所有的插入方式

1.指定列插入 2.全列插入 3.不用写列明的全列插入

 

插入后的表

二.R(Read)读取--查询

a.全列查询

语法:select * from 表名;(没加限制会把所有的数据都查询出来) *是代表所有的意思

b.指定列查询

语法:select 列名[,列名]... from 表名;

c.列为表达式的查询

语法:select 列名/表达式 [as] 别名 from 表名;

拿下面的成绩表举例exam

 d.别名查询

语法:select 列名/表达式 [as] 别名 from 表名;

as 可以省略 别名如果有空格,需要单引号引起来

 e.去重查询

语法:select distinct 列名[,列名]... from 表名;

如果列名有多个,去重时只有所有的列都相等,才会被判断为相等,才会被判定为重复,才会去重

由上表可知王五和钱七的语文成绩是重复的

可见只有一个70

如果添加name那么不会去重,因为必须一行数据全部相同才会去重

f.排序查询

语法:select 列名[,列名]... from 表名 order by 列名 asc(升序) | desc(降序);

升序排列,如果不指定后面的排序规则(asc, desc)则默认为升序

降序排序

 如果id为null那么null将是最小的

g.条件查询

语法:select 列名[,列名]... from 表名 where 列名/表达式 比较 | 逻辑运算符 order by 列名 asc | desc

 

h.区间查询

语法:select 列名[,列名]... from 表名 where  列名 between 开始条件 and 结束条件;

betwee... and... 等价于 开始条件 <=  列的值 <= 结束条件

等价于↓ 

i.模糊查询

语法:select  列名[,列名] from 表明 where 列名 like '%值_'; (%是匹配任意字符而_ 是匹配单个字符)

j.分页查询

语法:1.select * from 表明 where 条件 order by 列名 asc | desc limit num;(查询前num条记录)

2.select * from 表明 where 条件 order by 列名 asc | desc limit num start ,num;(从start条开始,向后查num条)

3..select * from 表明 where 条件 order by 列名 asc | desc limit num offset start;(从第start条开始,向后查num条)

 

 

 三.U(Update)更新

语法:update 表名 set 列名 = 值 where 条件 order by 子句 limit num;(如果不指定条件和limit的数量就会将整个表的列更新)

将下表中的语文成绩+10

 将王五的数学成绩加10

 

 四.D(Delete)删除

语法:delete from 表明 where 条件 order by 列名 limit num;(如果不指定条件和limit的数量就会删除整个表中的数据).

删除成绩表的后两条数据

删除张三的成绩

 

更新和删除操作要谨慎使用

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值