mysql中的dbdata_Database学习 - mysql 数据库 数据操作

mysql数据操作

查询语法

select * | field1,field1 ... from表名where条件group by字段having筛选order by字段

limit 显示条数

条件查询记录

select * from表名;select 字段名 from表名;select distinct 字段名 from表名;//distinct可以去重字段数据//salary 非空字段select 字段 as 别名 [,字段 as 别名] from表名;//别名应用,只显示,并不影响存储数据.select 字段名 from 表名 where条件;// where语句中可以使用的:

运算符 :> , < , = , <=,>=, !=,<>区间: 字段between 10 and 100 //值在 10到100 之间的

包含关系: 字段in (10,20,30) //值是10或20或30

匹配数据: 字段like 'he %' // %表示任意多字符, _表示一个字符.

逻辑运算:and , or ,is正则表达式: regexp "正则表达式"//having 语句中可以使用的:(跟where 区别是group by后不能用where)

运算符 :> , < , = , <=,>=, !=,<>区间: 字段between 10 and 100 //值在 10到100 之间的

包含关系: 字段in (10,20,30) //值是10或20或30

匹配数据: 字段like 'he %' // %表示任意多字符, _表示一个字符.

逻辑运算:and , or ,is正则表达式: regexp "正则表达式"

where 跟 having 区别:

1.where 语句只能在分组之前筛选,having可以用在分组之后的筛选;

2.使用where语句的地方都可以用having进行替换

3.having中可以用聚合函数,where中不能

order by 排序(默认升序)

select 字段名 from 表名 where 条件 order by字段; (升序)select 字段名 from 表名 where 条件 order by 字段 desc; (降序)

group by 分组查询

group by分组查询:

注意,按分组条件分组后每一组只会显示第一条记录

其后可以接多个列名,也可以跟having字句,对groupby的结果进行筛选.select * from 表名 group by字段名select * from 表名 group by 2 //表示以表第二个字段分组查询

limit 查询

select * from 表名 limit 2; //显示前两条select * from 表名 limit 2 , 2 ; //跳过2条显示2条

exists 关键字

select * from 表名 where exists条件

在whereexists 返回是一个 true/false ,true则执行select * from 表名,false 返回为空.

聚合函数:

常用的组函数

0d29c233990fd804b25b4cfb1504e54d.png

①每个组函数接收一个参数

②默认情况下,组函数忽略列值为null的行,不参与计算

③有时,会使用关键字distinct剔除字段值重复的条数

注意:

1)当使用组函数的select语句中没有group by子句时,中间结果集中的所有行自动形成一组,然后计算组函数;

2)组函数不允许嵌套,例如:count(max(…));

3)组函数的参数可以是列或是函数表达式;

4)一个SELECT子句中可出现多个聚集函数.

查询过程中 各语句的执行顺序:

重点:

select , from , where , group by , having , order by 执行顺序.

mysql 在执行sql语句时的执行顺序:

from  > where  > select > group by > having > order by

插入数据

# set方式插入insert into 表名 set 字段 =数值;

# 一次性插入多个insert into 表名 (字段1, 字段2) values('数值1', '数值2'),('数值1', '数值2');

# 插入时有主键冲突,改为更新字段操作insert into 表名 (字段1, 字段2) values('数值1', '数值2') on duplicate key update '字段2 ='数值2';

#冲突替换,否则插入

replace into 表名(字段1, 字段2) values('数值1', '数值2');

修改数据

update 表名 set 字段名 = 新数值[,字段名 = 新数值] where 筛选修改字段 = 筛选数值;

删除数据

delete from 表名 where 筛选删除字段 = 筛选数值[or/and 筛选删除字段 = 筛选数值];

删除表

delete table表名 ;truncate 表名; //这种操作会删除表后重新建同名表,字段多时

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值