1:mysql登录
mysql -uroot -p
Enter Password:密码+回车
2:查看所有数据库
show databases;
3:创建数据库
create database 库名 charset utf8;
use 库名;
5:查看所有表
show tables;
6:创建表
create table 表名
(
字段名1 字段类型 字段完整性约束,
字段名2 字段类型 字段完整性约束,
字段名3 字段类型 字段完整性约束,
......
);
- 字段类型:
- 整型: int, bigint
- 字符串: varchar(32), char(8) text
- 日期时间
- 枚举
- 集合
- 字段完整性约束
- 唯一约束: unique
- 默认值约束: default
- 非空约束: not null
- 主键约束: primary key
- 外键约束: foreign key
7:查看表是否创建成功及表结构是否符合要求
# 查看表
show tables;
?
# 表结构
desc 表名;
8:插入数据
# 1.全数据字段插入一条数据
insert into 表名 values (v1,v2,v3,.....);
?
# 2.全字段插入多条
insert into 表名 values
(v1,v2,v3,.....),
(v1,v2,v3,.....),
...;
?
# 3.部分字段插入
insert into 表名
(字段1,字段2,字段3,....)
values
(v1,v2,v3,....),
(v1,v2,v3,....),
....;
9:修改数据
update 表名 set 字段名=字段值 where 条件;
10:删除语句
delete from 表名 where 条件;
11:查询数据 *
(从哪里分组选择,去重有排序限制)
from
where
group by
select
distinct
having
order by
limit
# 1.简单查询
- 语句语法:
select 字段名1,字段名2,字段名3,... from 表名 where 条件;
- 逻辑运算:
and # 连接多个条件,要求查询出来的数据要满足每一个条件
or # 连接多个条件,只要满足or连接的任意一个条件就查询出来
not # 非
- 比较运算
select * from stu where age>20;
select * from stu where age<18;
select * from stu where age>20 or age<18;
大于: >
小于: <
大于等于: >=
小于等于: <=
不等于: !=
-------------------------------------------------------
# 分组
1).分组统计个数:
select gender, count(*) as ‘数量‘ from stu group by gender;
2) .分组显示
select gender, group_concat(name) as name from stu group by gender;
# 过滤:having
select gender, group_concat(name) as name, count(*) as total from stu
group by gender
having total >2;
# 分页
select * from stu limit start, offset;
select * from stu limit 8.3;
# start: 是起始位置,offset是偏移量
# 去重
select distinct depart from stu;
# 排序
select * from stu order by age desc;
----------------------------------------------------
# 聚合函数
max(): 最大值
min(): 最小值
sum(): 求和
count(): 计数
avg(): 平均值
----------------------------------------------------
# 模糊查询
1) 通配符
select * from stu where name like ‘l%‘;
2) 正则
select * from stu where name regexp ‘正则表达式‘