MYSQL基础02DDL操作数据库6

DDL:操作数据库、表

1、操作数据库:CRUD

  1. C(Create):创建

    • 创建数据库:默认字符集为utf8

      create database 数据库名称;

      重复创建会报错,如下图

      

    • 创建数据库,判断是否存在:

      create database if not exists 数据库名称;

    • 创建数据库,并指定字符集:

      create database 数据库名称 character set 字符集;

    • 练习:创建db4数据库,判断是否存在,并指定字符集为gbk

       create database if not exists db4 character set gbk;

  2. R(Retrieve):查询

    • 查询所有数据库的名称:

      show database;

      //mysql安装好后默认有4个数据库,按理说应该对应MySQL数据目录C:\ProgramData\MySQL\MySQL Server 5.5\data中4个文件夹,但是data中只有3个文件夹。

      

      • information_schema:这个数据库是用来描述数据库MySQL里面的信息的(有哪些表有哪些库名字)。这里面存放的并不是真正的表,而是视图,所以information_schema数据库并不存在真正的物理文件。
      • mysql:核心数据库,存放的是核心数据,存放了很多表。
      • performance_schema:对性能提升做一些操作的数据库,里面也有很多表。
      • test:空的测试数据库。一般不用。

       注意:前3个数据库尽量不要动。

  3. U(Update):修改

    • 修改数据库的字符集

      alter database 数据库名称 character set 字符集名称;

      

  4. D(Delete):删除

    • 删除数据库:

      drop database 数据库名称;

      重复删除会报错,如下图

      

    •  判断数据库存在,存在再删除:

      drop database if exists 数据库名称;

      

  5. 使用数据库

    • 查询当前正在使用的数据库名称:

      select database();

    • 使用数据库:

      use 数据库名称;//相当于进入了db1文件夹

     

2、操作表

  1. C(Create):创建

    • 创建表语法:

      create table 表名(

        列名1 数据类型1, 

        列名2 数据类型2,

        ...

        列名n 数据类型n

      );

    • 注意:最后一列,不需要加逗号(,)
    • 数据类型:

        1. int:整数类型  例如:age int,

        2. double:小数类型 例如:score double(5,2),//表示小数最多有5位,小数点后面有2位,最大值为999.99

        3. date:日期类型,只包含年月日,格式:yyyy-MM-dd

        4. datetime:日期类型,包含年月日时分秒,格式:yyyy-MM-dd HH:mm:ss

        5. timestamp:时间戳类型,包含年月日时分秒,格式:yyyy-MM-dd HH:mm:ss。如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间来自动那动赋值。

        6. varchar:字符串类型。例如:name varchar(20)//表示姓名最大20个字符。zhangsan是8个字符,张三是2个字符

    • 练习:创建表   
create table student(
    id int,
    name varchar(32),
    age int ,
    score double(4,1),
    birthday date,
    insert_time timestamp
);

     

    • 复制表:

      create table 表名 like 被复制的表名;

      

  2. R(Retrieve):查询

    •  查询某个数据库中所有的表名称

      show tables;

      

    • 查询表结构

      desc 表名;

      

    • 查询某个表的字符集:查询某个表的创建语句

      show create table 表名;

      

  3. U(Update):修改

    • 修改表名:

      alter table 表名 rename to 新的表名;

      

    • 修改表的字符集:

      alter table 表名 character set 字符集名称;

      

    • 添加一列:

      alter table 表名 add 列名 数据类型;

      

    • 修改列名称 类型

      alter table 表名 change 列名 新列名 新数据类型;

      alter table 表名 modify 列名 新数据类型;

      

    • 删除列

      alter table 表名 drop 列名;

      

  4. D(Delete):删除

    • 删除表:

      drop table 表名;

      drop table if exists 表名;

      

原文地址:https://www.cnblogs.com/ajing2018/p/15681058.html