MySQL命令大全——DDL、DML、DCL


一、DDL(数据定义语言)

  1、基本操作

   1) 查看所有数据库名称: show databases;

   2)切换数据库:use db_name;

  2、操作数据库

    1)创建数据库:create database [if not exists] db_name [字符集声明, 整理声明];

      (字符集与排序规则不写默认为[utf8, utf8_general_ci])

    2)删除数据库:drop database [if exists] db_name;

    3)修改数据库:alter database db_name character set 字符编码

    注:修改数据库只能修改其字符编码,不能修改数据库名称

  3、数据类型

常用类型:

int 整型

double 浮点型,例如double(5,2)表示最多5位,必须有2位小数,即最大值为999.99

decimal 精确小数类型,在跟钱有关的时候使用

char 固定长度字符串类型

varchar 可变长度字符串类型

text 字符串类型

blob 字节类型

      date 日期类型,格式为 yyyy-MM-dd

       time 时间类型,格式为 hh:mm:ss

  4、操作表

      1)创建表:

        create table 表明(字段名 字段类型, 字段名 字段类型......);

        例:创建一张包含学生id,学生姓名,年龄以及性别的表

        create table student(s_id int, s_name varchar(20), s_age int, s_gender varchar(10));

      2)查看数据库中所有表

        show tables;

        此操作要在use db_name;之后

      3)查看指定表的创建语句

        show create table 表名;

         例:show create table student;

         

      4)查看表结构

        desc 表名;

        

      5)删除表

        drop table 表名;

      6)修改表

        此修改表是指对表的字段的增删改,以及对表名的修改

         a.添加新字段到最后

          alter table 表名 add column (新字段名 字段类型);

          例:alter table student add column (s_major varchar(30));

          

  b.添加新字段到指定字段之后

    alter table 表名 add 新字段名 新字段类型 after 指定字段名;

          

         c.删除字段

          alter table 表名 drop 要删除的字段名;

         d.修改字段

          alter table 表名 change 旧字段 新字段 新字段类型;

二、DML(数据操作语言)

  1)插入数据

    insert into 表名 (字段1, 字段2, 字段3...) values(值1, 值2, 值3...);

    insert into 表名 values(值1, 值2, 值3.....); //此方法必须插入表中所有字段的值,并一一对应;

    insert into 表名 values(值1, 值2, 值3...), (值1, 值2, 值3...),...(值1, 值2, 值3...); //此方法可以插入多条数据 

  2)修改数据

    update 表名 set 字段名=新的值 (where 条件); //不加条件会修改所有指定字段的值,可以通过where确定修改指定记录

  3)删除数据

    delete from 表名 (where 条件); //此方法删除数据在不加条件时会删除所有的数据,可以通过where确定删除指定记录

    truncate table table_name同样可以实现清除表中所有的数据,

    虽然TRUNCATE和DELETE都可以删除表的所有记录,但有原理不同。DELETE的效率没有TRUNCATE高!

    TRUNCATE其实属性DDL语句,因为它是先DROP TABLE,再CREATE TABLE。而且TRUNCATE删除的记录是无法回滚的,但DELETE删除的记录是可以回滚的(回滚是事务的知识!)。

三、DCL(数据控制语言)

  1)创建用户

    create user 用户名@地址 identified by 密码;

    例:create user user1@localhost identified by '123'; 用户user1只能在localhost即本地才能登录mysql服务器

       create user user2@'%' identified by '123'; 用户user2可以在任何电脑上登录mysql服务器。

  2)给用户授权

    grant 权限1, 权限2, 权限3...权限n on 数据库名.表名 to 用户名@地址;

    例:grant select on java1702.student to user1@localhost; 只给user1用户查询数据库java1702中的student表的权限;

       grant all on java1702.* to user2@localhost; 给用户user2授予数据库java1702中所有表的所有权限。

  3)撤销授权

    revoke 权限1, 权限2...权限n on 数据库名.表名 from 用户名@地址;

    例:revoke update on java1702.* from user2@localhost;

  4)查看用户授权

    show grants for 用户名@地址

  5)删除用户

    drop user 用户名@地址

  

  

    

  

    

    

  

          

    

优质内容筛选与推荐>>
1、table中取得各个单元格中的数据-- parentElement children
2、第3章 对象和类型
3、test
4、SQL 2012 OFFSET/FETCH NEXT分页示例与row_number分页比较
5、【BZOJ1922】[Sdoi2010]大陆争霸 Dijkstra


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号