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

原文链接: http://www.cnblogs.com/stitchWyq/p/6789086.html

一、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;

          MySQL命令大全——DDL、DML、DCL_第1张图片

 

      4)查看表结构

        desc 表名;

        MySQL命令大全——DDL、DML、DCL_第2张图片

      5)删除表

        drop table 表名;

      6)修改表

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

          a.添加新字段到最后

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

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

          MySQL命令大全——DDL、DML、DCL_第3张图片

 

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

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

            MySQL命令大全——DDL、DML、DCL_第4张图片

         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 用户名@地址

  

  

 

    

  

    

    

  

          

    

 

转载于:https://www.cnblogs.com/stitchWyq/p/6789086.html

你可能感兴趣的:(MySQL命令大全——DDL、DML、DCL)