sql语句增删改查及模糊查询,排序分组的查询
自增长是auto_increment
drop table 表名 删除表
show create table 表名 可以看出该表的结构和看数据库结构类似
字段类型
sql插入语句规则
插入数据在dos乱码问题的解决
将utf8改成gbk就ok,但是这个改变的是系统文件,不好,还有一种方式是
set names gbk;
使用这种方式很好,不会涉及系统文件
删除
这个可以看出,这个在事务内删除,删除成功了,但是后来回滚了事务,删除的内容又回来了
这个可以看出,即使回滚了,但是删除的数据还是回不来了,truncate是删除这个表,在重新创建一张,所以在插入数据的时候,这个表的自增长主键又从1开始了,和新表一样
查询
查询的时候可以给表或者字段设置别名,使用关键字as
select * from tsuiau as student
这就相当于给tsuiau设置了别名student那么下面我们查询tsuiau表的时候可以直接使用student
select * from student
distinct用于去除重复数据
select distinct (字段) from 表名
条件查询
查询之后,查寻结果排序,默认升序
聚合函数
分组查询group by 字段
根据某个字段分组,字段一样的为一组
上面是根据cid进行分组,cid一样的为一组,然后使用聚合函数统计每一组中的个数
where和having后面都是条件,二者区别是where用于分组前,having用于分组后,这几个的执行顺序是where-》group by-》having-》order by,where是分组前的条件,having是分组后的条件,分组后的条件可以使用分完组之后的查询结果的内容
顺序是这样的
分页查询limit
select * from emp limit 0, 5 从第一行开始查,一共查5行
select * from emp limit 8, 5 从第9行开始查,一共查5行
select * from emp limit 12, 5 从第11行开始查,一共查5行
行数是从0开始算的,0算第一行
假如规定每页有10行记录,那么如果查询第三页所有记录这个语句怎么写?
select * from emp limit 20,10;
这个20是这样求的(查询的第几页-1)*每页记录数=(3-1)*10=20