库级表级命令
linux下进入/退出数据库:mysql -uusername -ppassword / exit
创建数据库:create datebase [if not exists] db_name;
删除数据库:drop datebase [if not exists] db_name;
进入数据库:use db_name;
创建表:create table [if not exists] tb_name (create definition…);
查看表:show table tb_name;
显示创建表的信息:show create table tb_name;
查看表详细的结构:desc tb_name;
MySQL表中数据的操作
增
全字段插入数据:insert into tb_name values (all_values);
指定字段插入:insert into tb_name(field_name) values (field_values);
多行插入:insert into tb_name(field_name) values (value_1), (value_2);
删
删除表中所有数据:delete from tb_name;
删除表中满足条件的数据:delete from tb_name where conditions;
注:delete删除整行数据
改
修改所有的数据:update tb_name set field_1 = value_1;
修改多个数据:update tb_name set field_1 = value_1, field_2 = value_2;
修改满足条件的数据:update tb_name set field_1 = value_1n where conditions;
查
全字段查询数据:select * form tb_name;
指定字段查询:select field_name form tb_name;
带条件查询:select fiels_name from tb_name where conditions;
Mysql 数据类型
字符类新:varchar(size) ,char(size),
enum (‘A’, ‘B’, ‘C’)只有这些值才能填到表中
MySQL查询细说
where 比较运算符(is (not) NULL) 逻辑运算符(and or not)
排序 :select columns form tb_name order by col [asc(正序 默认)/desc(逆序)];
限制:select columns form tb_name limit star, count; (limit count;)
去重: select distinct from tb_name
模糊查询: like ‘%’ %表示任意多个字符 _表示任意一个字符
范围查询: 连续范围: between a and b ; 间隔返回: in
聚合与分组
- 常用的聚合函数
统计个数:count (columns)
求和:sum(columns)
最大值:max(columns)
最小是:min(columns)
平均值:avg(columns)
列出字段全部值:group_concat(columns) - 分组查询 (group by)
select group_column, aggregations from tb_name group by group_column; - 聚合筛选(having)
一个查询语句中同时包含了别名(as),聚合函数,where,having。那么,他们的执行顺序是你where, 聚合函数和别名,having。
多表连接
-
内连接
无条件连接:select * from db_name1 join db_name2
有条件连接:select * from db_name1 join db_name2 on condition -
外连接
左外连接select * from db_name1 left(right)join db_name2 on condition , 再两张表不匹配时留下左表中的数据,而右表中的数据以NULL填充