4. mysql 基础知识
1.1 基本语法知识
1.创建数据表
create table 表名(字段名 字段类型.......)
2.查看表字段信息
desc 表名;
3.查看表的创建语句
show create table 表名;
4.指定表引擎和字符集
CREATE TABLE emp (
useraname varchar(10) DEFAULT NULL,
password date DEFAULT NULL,
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
5.修改表字段类型
alter table 表名 modify 字段名 修改之后的字段类型;
6.增加表字段
alter table 表名 add column 字段名 类型;
7.增加字段时控制字段顺序
ALTER TABLE 表名 ADD 字段名 字段类型 AFTER 字段名;
8.删除表字段
alter table 表名 drop column 字段名;
9.修改字段改名
alter table 表名 change 字段原名 字段新名
10.修改表名
alter table 表名 rename 新的表名
1. 2查询语句
1.查询单个字段不重复记录 distinct
select distinct 字段from 表;
2.限制结果集并排序
select 字段from 表 order by 字段 升序asc/降序desc limit 数量;
3.分组 group by
select * from 表 group by字段;//分组字段中相同的值会去掉,只留下一个
4.统计数量之后再进行分组统计
select count(字段),字段 from 表 group by 字段;
4.在分组的基础上进行总数统计, with rollup
select * from 表 group by 字段 with rollup
eg: select count(province),province from money group by province with rollup;
5.结果再过滤 having
having 是筛选组 而where是筛选记录。
select * from 表 group by 字段 having 条件
示例 select count(province) as result ,province from money group by province having result >2;
示例说明 对地区分组并统计总数,将分组结果中大于2的分组地区显示出来
6.左连接: 包含左边所以表的信息,包括不和右边表匹配的信息
select 表1.字段 [as 别名],表n.字段 from 表1 LEFT JOIN 表n on 条件;
7.右连接 :显示所有右边表的数据,包括不匹配数据
select 表1.字段 [as 别名],表n.字段 from 表1 right JOIN 表n on 条件;
8.记录联合 union /union all
都是把查询结果直接合并在一起,union 是进行一次distinct,将重复的过滤。union all不过滤
select语句1 union[all] select语句2
1.3 mysql权限操作
1.添加权限 :
基本语法 grant 权限 on 库.表 to '用户'@'主机' identified by '密码';
示例 grant select, insert on test.* to 'liwenkai'@'localhost' identified by '4311';
示例说明 给予liwenkai用户,在本机连接test库所有表的权限。
2.删除权限
基本语法: revoke 权限 on 库.表 from ‘用户’@'主机'
revoke insert on test.* from 'liwenkai'@'localhost';
grant all 在grant后接all说明给予所有权限
revoke all 在revoke后接all说明删除所有权限
权限 on . . 所明给予所有库所有表的操作权限
'用户'@'主机' 主机里面若为%。任意来源的主机均可以使用这个用户来访问
3.权限查询
查看当前用户权限:
show grants;
查看其它用户权限:
show grants for 'test'@'localhost';
刷新权限
flush privileges;