MySQL基本查询【mysql数据库】

表的增删查改:CURD

Create(创建) Retrieve(读取) Update(更新) Delete(删除)

目录

一、插入(Create)

1)单行插入

2)多行-全列插入

3)多行-指定列插入

4)插入否则更新

5)插入否则替换

二、查询(Retrieve)

1)全列查询

2)指定列查询

3)select 表达式 (重命名) 

4)去重

 5)where子句

 6)AND OR NOT 及 between and、in

7)模糊匹配(like)

8)结果排序

 9)筛选分页

三、更新(Update)

四、删除(Delete)


一、插入(Create)

语法:

1)单行插入

下面以这个表为例进行插入:

 如果不指定列,就默认全列插入:

2)多行-全列插入

逗号分隔多行:

3)多行-指定列插入

4)插入否则更新

如果主键或唯一键对应的值已经存在,更新该主键对应的值。

5)插入否则替换

二、查询(Retrieve)

下面的讲解都根据这个表来讲述:

1)全列查询

* 其实通配符,一般不建议用 * 进行全列查询,一方面因为查询的列越多,意味着需要传输的数据量越大,另一方面可能会影响到索引的使用。

2)指定列查询

3)select 表达式 (重命名) 

select 后面跟的其实是表达式,它会将表达式对应的结果展示出来:

可以给表达式进行重命名(as可加可不加):

注意:重命名的操作是在筛选之后的,在筛选时,它不认识total

4)去重

distinct

 5)where子句

注意:

(1)NULL和0是不一样的

(2)判断两个值是否相等要用一个等号‘=’,不能两个等号

(3)用NULL来判断和其他值(包括NULL)比较时,这个表达式的值是NULL,没有真假概念。

        只能用 NULL<=>NULL,或IS NULL / IS NOT NULL

 6)AND OR NOT 及 between and、in

(1)AND

语文成绩在【80,90】的同学的名字和分数:

也可以用between 80 and 90(between ……and……仅限双闭区间使用)

(2)OR 

筛选数学成绩为58 59 98 99分的:

也可以用in(option1,option2……)

(3)NOT 

7)模糊匹配(like)

 %表示任意多个字符,_表示任意一个字符

8)结果排序

order by

ASC(ascending order):升序

DSC (descending order):降序

NULL值比任何值都要小,order默认升序排序,但不要依赖mysql的默认行为

按数学成绩降序排序,如果数学成绩相同,则相同的行按英语成绩降序排序:

 9)筛选分页

limit n 从0行开始,筛选n条结果:

limit k,m:从k开始(k从0开始),筛选m条结果

limit m offset k:从k开始(k从0开始),筛选m条结果

可以很好地实现分页功能:

三、更新(Update)

Update table_name set column = expr [ , column = expr ...] [WHERE ...] [ORDER BY ... ] [LIMIT ...]

eg:将孙悟空的成绩更新为80分:

eg:将语文成绩更新成原来的两倍。

实际开发时用update很危险,一定要小心!

四、删除(Delete)

DELETE FROM table_name  [WHERE ...] [ORDER BY...] [ LIMIT ...]

eg:删掉总分倒数第一名

如果delete from后面直接跟表名,没有筛选,那么就会将表里的内容全删,表结构还存在。 

但是,用这种方式清空表内容后,自增计数器并没有清0!!!

截断表:会重置AUTO_INCREAMENT项。

但它不走事务,不会把操作痕迹记录到日志里,会更快,但慎用!!

 eg:删除表中重复记录

操作:创建一个空表,select将不重复的数据插入到新表。再将新表重命名。

1)like创建一个跟原表一样的空表

2)insert 插入select去重的结果

3)重命名rename ……to……

 

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值