MySQL-mysql语句

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41690324/article/details/82811193
mysql语句

库
创建数据库  CREATE DATABASE 数据库名;
使用数据库 use 数据库名;
显示数据库 show databases;
删除数据库 drop database 数据库名;

表
创建数据表 create table 表名(列名1 数据类型 约束(可选) ,   列名2 数据类型 约束(可选),   ..... );
删除表 drop table 表名;
主键约束(保证列的数据的唯一性,非空性)  自动增长 primary key auto_increment
显示表 show tables;  查看表结构 desc 表名;
修改表名 rename 表名 table to新名

列
添加列,添加字段  alter table 表名 add 列名 数据类型 约束 ;
修改列,在原有列上进行修改 修改数据类型,约束:  alter table 表名 modify 列名 数据类型 约束 ;
修改列名: alter table 表名 change 旧列名 新列名 数据类型 约束;
删除列 alter 表名 drop 列名;

数据表中 数据
向数据表中添加数据 insert into 表名 (列名1,列名2,列名3) values (值1,值2,值3)
添加数据格式 不考虑主键  insert into 表名 (列名) values (值 )
添加数据格式 insert into 表名 values (全列值)
添加数据格式 批量写入 insert into 表名 (列名1,列名2,列名3) values (值1,值2,值3),(值1,值2,值3)
对数据进行更新操作  update 表名 set 列1=值1,列2=值2 where 条件 
修改条件的写法 id=6   id<>6(不等于)   与and    或 or    非not
删除数据  delete from 表名  where 条件

查询
查询指定列的数据  select 列名1,列名2 from 表名
查询所有列的数据  select * from 表名
查询去掉重复记录  selec DISTINCT 关键字 from 表名
查询数据中,直接进行数学计算 列对数字进行计算 SELECT zname,zmoney+1000 AS'sum' FROM zhangwu

条件查询 SELECT * FROM 表名 WHERE 条件
例:    
 查询所有的吃饭支出 SELECT * FROM zhangwu WHERE zname='吃饭支出'
查询金额大于1000 SELECT * FROM zhangwu WHERE zmoney>1000
查询金额在2000到5000之间  SELECT * FROM zhangwu WHERE zmoney >= 2000 AND zmoney <= 5000
改造成between and 方式 SELECT * FROM zhangwu WHERE zmoney BETWEEN 2000 AND 5000
查询金额是 1000,3500,5000 其中一个
SELECT * FROM zhangwu WHERE zmoney = 1000 OR zmoney=3500 OR zmoney=5000
改造成in方式  SELECT * FROM zhangwu WHERE zmoney  IN (1000,3500,5000)
like 模糊查询 配合通配符
查询所有的支出 SELECT * FROM zhangwu WHERE zname LIKE '%支出%'
查询账务名字,五个字符的 SELECT * FROM zhangwu WHERE zname LIKE'_____'
查询账务名,不为空的
SELECT * FROM zhangwu WHERE zname IS NOT NULL
SELECT * FROM zhangwu WHERE   NOT ( zname IS NULL)

查询排序
order by 列名 [desc][asc]   desc 降序   asc  升序排列,可以不写
 查询账务表,价格进行升序  SELECT * FROM zhangwu ORDER BY zmoney ASC
查询账务表,价格进行降序   SELECT * FROM zhangwu ORDER BY zmoney DESC
先过滤条件 where 查询的结果再排序  SELECT * FROM zhangwu WHERE zname LIKE'%支出%' ORDER BY zmoney DESC

聚合函数
count 求和,对表中的数据的个数求和  count(列名)  SELECT COUNT(*)AS'count' FROM zhangwu
sum求和,对一列中数据进行求和计算 sum(列名) SELECT SUM(zmoney) FROM zhangwu
求和,统计所有收入的总金额  SELECT SUM(zname) FROM zhangwu WHERE zname LIKE'%收入%'
max 函数,对某列数据,获取最大值 SELECT MAX(zmoney) FROM zhangwu
avg 函数,计算一个列所有数据的平均数 SELECT AVG(zmoney)FROM zhangwu
 
分组查询   group by 被分组的列名   having 条件
 必须跟随聚合函数  select 查询的时候,被分组的列,要出现在select 选择列的后面
SELECT SUM(zmoney),zname FROM zhangwu GROUP BY zname
 对zname内容进行分组查询求和,但是只要支出  SELECT SUM(zmoney)AS 'getsum',zname FROM zhangwu WHERE zname LIKE'%支出%' GROUP BY zname ORDER BY getsum DESC

-- 对zname内容进行分组查询求和,但是只要支出, 显示金额大于5000
-- 结果集是分组查询后,再次进行筛选,不能使用where, 分组后再次过滤,关键字 having
SELECT SUM(zmoney)AS 'getsum',zname FROM zhangwu WHERE zname LIKE'%支出%'
GROUP BY zname HAVING getsum>5000

猜你喜欢

转载自blog.csdn.net/qq_41690324/article/details/82811193