create table 表名(
字段名 类型(长度) 约束,
字段名 类型(长度) 约束
);
id int primary key,
primary key(id) // 在创建表最后创建主键约束
alter table 表名 drop primary key;
主键字段后加auto_increment(只适用MySQL)
show databases
use 库名
show tables;
desc 表名;
rename table 表名 to 新表名;
drop table 表名;
insert into 表 (列名1,列名2,列名3..) values (值1,值2,值3..);
update 表名 set 字段名=值,字段名=值 where 条件;
delete from 表名 [where 条件];
select distinct 字段 from 表名 where 条件;
select * from 表名 as 别名 where 条件;
select 字段名 as 别名 from 表名 where 条件;;
SELECT * FROM zhangwu WHERE money IN(1000,5000,3500);
SELECT * FROM zhangwu WHERE money =1000 OR money =5000 OR money =3500;
SELECT * FROM zhangwu WHERE name LIKE "%支出%";
SELECT * FROM zhangwu WHERE name IS NOT NULL;
排序查询
order by 列名 [desc][asc] desc 降序, asc 升序(默认) 最好将order by 函数放到最后
SELECT * FROM zhangwu ORDER BY zmoney DESC ;
聚合函数
SELECT COUNT(*)AS'count' FROM zhangwu
SELECT SUM(zname) FROM zhangwu WHERE zname LIKE'%收入%'
分组查询
分组查询是指使用group by字句对查询信息进行分组,一般和聚合函数一起用, 查询相同字段的数据
SELECT 字段1,字段2… FROM 表名 GROUP BY 字段 HAVING 条件;
分组操作中的having子语句,是用于在分组后对数据进行过滤的,作用类似于where条件。
having与where的区别
1.having是在分组后对数据进行过滤.
2.where是在分组前对数据进行过滤
3.having后面可以使用分组函数(统计函数)
4.where后面不可以使用分组函数。
select count(id),name from gDemo GROUP BY name // 根据名字分组, 即查询相同名字的列数有多少
alter table 表名 add 列名 类型(长度) 约束;
alter table 表名 modify 列名 类型(长度) 约束;
alter table 表名 change 旧列名 新列名 类型(长度) 约束;
alter table 表名 drop 列名;