1. 库操作
建库,(如果库不存在则创建)
create database [if not exists] XX(数据库名);
查看所有库,注意加s
show databases;
查看建库语句
show create database XX(数据库名);
删除数据库
drop database XX(数据库名);
选择数据库,只有选定了以后才能对其进行操作
use XX(数据库名);
2. 表操作
创建表,同时确定字段名及其数据类型
create table XX(表名)(
字段1名 数据类型,
字段2名 数据类型,
.......
字段n名 数据类型
);
查看所有表
show tables;
查看表结构
desc XX(表名);
查看建表语句
show create table XX(表名);
清空表数据
truncate table XX(表名);
删除表
drop table XX(表名);
修改表
alter table 旧表名 rename to 新表名; //修改表名
alter table 表名 add 新列名 字段类型; //新增一个字段
alter table 表名 drop 字段名; //删除一个字段
alter table 表名 modify 字段名 新的字段类型; //修改字段类型
alter table 表名 modify 字段名 字段类型 first; //把某个字段放在最前面
alter table 表名 modify 字段名1 字段类型 after 字段名2; //字段名1放在字段名2的后面
alter table 表名 change 原字段名 新字段名 新的字段类型; //重命名字段
alter table 表名 表选项信息; //修改表选项
3.数据操作
增
当插入整条数据时,字段列表项可以省略
insert into 表名(字段列表) values(值列表);
查
select * from 表名[查询条件]; //查询所有条
select 字段列表 from 表名[查询条件]; //查询指定字段,可以为多个
模糊查询:
1.百分号通配符(%)
LIKE ‘xxx%’ 表示查询所有以xxx为开头的数据
LIKE ‘%xxx’ 表示查询所有以xxx结尾的数据
LIKE ‘%xxx%’ 表示查询所有包含xxx的数据
eg. select * from 表名 where 字段名 LIKE ‘xxx%’;
2.下划线通配符(_)
LIKE ‘_xxx’ 表示查询所有开头只有一个字符后面是xxx的数据
eg. select * from 表名 where 字段名 LIKE ‘_xxx’
注:%区分大小写,可匹配多个字符,而_值匹配一个字符
3. [ ] :表示括号内所列字符中的一个。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
‘[张李王]三’ 找出张李王中一个,后面是三的
‘[1-9]’ 找出是1到9中的一个的
4. [^],非,表示不是方括号里的条件的
删
delete from 表名[删除条件];
改
update 表名 set 字段1=新值1,字段n=新值n [修改条件];
4.注意
数据赋值时,varchar为字符串,需要用" "包起来
关于常用数据类型
整型: tinyint 1字节 int 4字节 bigint 8字节
浮点型: float 4字节 double 8字节 decimal 总位数,小数位数
字符串型:char() 定长字符串 varchar() 变长字符串 text 长文本数据
时间/日期型:date (YYYY-MM-DD) time (HH:MM:SS)
datetime (YYYY-MM-DD HH:MM:SS)
timestamp (YYYYMMDD HHMMSS)
关于字段属性
null:空
not null:不为空
default 'XXXX':默认值
auto_increment:自动增长
primary key:主键(特点:不为空,不重复,一个表只能有一个主键,但是一个主键可以由多个列组成)
聚合函数
- sum(); 求和 select sum(字段x) from XX(表名);
- avg(); 求平均值 select avg(字段x) from XX(表名);
- max(); 求最大值 select max(字段x) from XX(表名);
- min(); 求最小值 select min(字段x) from XX(表名);
- count(); 记录数 select count(字段x) from XX(表名);
- select max(*) from XX(表名);
- 在某字段条件下使用函数 select 函数名() from XX(表名) where 字段x = 值x;