表操作
查看当前数据库中的所有表
show tables;
创建表
create table 表名(列+类型+约束,每一列用逗号分隔)
例如: create table zr1(id int auto_increment primary key,name varchar(10) not null)
创建一个叫zr1,有两个列的表格,id列为数字类型,自动增长,主键,名字列为字符串类型,限制为10个字符串,不能为空
修改表
alter table 表名 add(添加)或者change(修改)或者删除 列名 类型; 例如
alter table students add birthday datatime; 往students里添加时间类型,名字为生日的表头
删除表
drop table 表名;
查看表结构
desc 表名;
更改表名称
rename table 原表名 to 新表明;
查看表的创建语句
show create table 表名;
增加 修改 删除
全列插入
insert into 表名 values()
缺省插入
insert into 表名(列1)values(值,...)
同时插入多条数据
insert into 表名 values(),(),();
insert into 表名(列1,..) values(值1,...),(值1,....);
修改数据
update 表名 set 列名=修改的值 where 条件 id=1 或者 名字=?
删除数据
delete from 表名 where 条件(就是想要删除的行,比如说id=1)
表格数据查询操作
查询
select * from 表名 查询全部
select * from 表名 where id=1,或者name="哈哈"(条件);
select distinct 想要查询的东西 from 表名; 消除重复行
比较查询
select * from 表名 where id<=4; 查询id小于等于4的
select * from 表名 where name!="黄蓉" 查询不等于黄蓉的
select * from 表名 where isdelete=0; 查询没被删除的
运算符
or或者 and并且 not不,没有
select * from 表名 where id>3 and name="哈" 查询编号大于三叫哈的同学
模糊查询
select * from 表名 where name like '%黄%'; 查询带黄字的数据,_代表一个字符,%代表多个字符
范围查询
select * from 表名 where id in(1,3,8); in表示在一个非连续的范围内查询1或3或8的学生
select * from 表名 where id between 3 and 8; 查询3到8的学生
空判断
select * from 表名 where 表头名 is null; 查询表头名为空的学生
is not null 就是不为空
聚合
select count(*) from 表名; 计算总行数
count计算总行数 max 最大值 min 最小值 sum 求和 avg 平均值
分组
select 列1 列2 或者聚合 from 表名 group by 列1 列2 having(加条件)
前后两个列必须相等
having 运算跟where相同 但是原理不同
where 是对原始数据筛选
having 是对group by 的结果筛选
排序
order by name(列1) asc/desc, age(列2) asc/desc...
默认排序是升序,从小到大
asc 从小到大
desc 从大到小
分行
limit 开始索引,分几行
一般都是在最后写
网友评论