美文网首页
4. mysql 基础知识

4. mysql 基础知识

作者: 皮蛋是个臭蛋 | 来源:发表于2020-07-12 16:27 被阅读0次

    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;

    相关文章

      网友评论

          本文标题:4. mysql 基础知识

          本文链接:https://www.haomeiwen.com/subject/obtncktx.html