sql structured query language
mysql数据库
delimiter 变更sql语句结束符
show databases 展示数据库
show create database *** 查看某数据库建表语句
drop database ***删除某库
修改库 alter database 库名 default character set 码表名
电话号码 身份证号varchar char 存储
date 字段年月日
datatime字段 年月日时分秒
表管理
use ***选择使用库
create table 表名(
字段名 字段类型,
字段名 字段类型,
字段名 字段类型,
字段名 字段类型
)
show tables;查看所有表
create table ***创建表
desc ***查看某表结构
drop table *** 删除表
修改表
添加字段 alter table 表名 add column 字段名 字段类型
删除字段 alter table 表名 drop column 字段名
修改字段类型 alter table 表名 modify column 字段名 新字段类型
修改字段名称和类型 alter table 表名 change column 旧字段名 新字段名 新字段类型
修改表名 alter table 旧表名 rename to 新表名
修改表数据
insert into 表名 values(**,**,**) 整条插入
insert into 表名 (字段名,字段名) values(字段值,字段值) 插入部分字段
带条件修改数据 update 表名 set 字段名=值,字段名=值
带条件删除数据 delete from student where 字段名=值
全表删除可回滚 不删除表约束 delete from 表名
全表删除不可回滚 删除表约束 truncate table
数据查询
select * from 表名
查询指定列 select 字段名 from 表名
查询时添加常量列 需求: 在查询student表时添加一个班级列,内容为“java就业班”
SELECT id,NAME,gender,age,'java就业班' AS '年级' FROM student;
查询时去重 distinct
SELECT DISTINCT gender FROM student;
-- 另一种语法
SELECT DISTINCT(gender) FROM student;
-- 需求: 查询学生所在的地区
条件查询 where
逻辑条件 and or <>不等于 between a and b 等价于 >=a 且 <=b
判断空字符串 ' ' 判断null ***is null
模糊查询 like %任意数量的字符 _一个字符
聚合函数(不能操作非数值类型字段)
sum() 列求和
avg() 列平均数
max() min() 列最大值、最小值
count() 列数据统计
分页查询 limit
查询结果集排序 order by
asc 正序(默认) desc 倒序排列
多个排序条件 ** asc,** desc 先执行前排序 结果集中相同数值按后排序
分组查询 group by
分组查询后筛选 having