mysql新手入门之DDL

数据定义语言(DDL)

DDL(Data Definition Language)数据定义语言

  • 用来定义数据库对象:数据库,表,列等。关键字:create,drop,alter 等

1. 操作数据库

1.1 C (Create):创建

  • 创建数据库

    create database 数据库名;
    
  • 创建数据库前先判断是否存在

    create database if not exists 数据库名;
    
  • 创建数据库,判断是否存在,并指定字符集

    create database if not exists 数据库名  character set 字符集
    

1. 2.R (Retrieve):查询

  • 查询所有数据库的名称

    show databases;
    
  • 查询某个数据库的字符集–其实是查询数据库的创建sql语句

    show  create database 数据库名;
    

1.3. U(Update):修改

  • 修改数据库的字符集

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

1.4.D(Delete):删除

  • 删除数据库

    drop database 数据库名;
    
  • 删除数据库前先判断是否存在

    drop database if exists 数据库名;
    

    1.5.使用数据库

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

    select database();
    
  • 注意 和 show databases;的细微区别

    1. 语义不同,分别是:查看所有数据库名称,查看当前正在使用的数据库名称
    2. 写法不同,database() 和 databases 
    
  • 使用数据库

    use 数据库名;  
    use db1;  
    

2. ddl操作表

2.1 查询

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

show tables

2.1.2. 查询表结构

desc 表名;

desc db;

2.1.3. 查询表的创建语句

show create table 表名

2.2. 创建

创建表

    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 字符串(长度可变)
  7. char字符串(长度固定)
    name varchar(20) 表示姓名最长20个字符的限制

注意:
1.字符串char,varchar要指定长度
2.varchar和日期类型的数据要加上引号(推荐使用单引号)
2. 复制表

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

2.3 删除表

1. drop table 表名
2. drop table if exists 表名

drop table if exists employee

2.4. 修改

2.4.1.修改表

  • 修改表名

     alter table 表名 rename to 新表名
     
     alter table employee11 rename to employee
    
  • 修改表的字符集

    -- 查看表的字符集,其实是查看表的创建语句
    show create table 表名;
    
    show create table employee;
    
     -- 修改表的字符集
    alter table 表名 character set 字符集;
    
    
    alter table employee character set utf8;
    

2.4.2.修改列

  • 添加一列

    alter table 表名 add 列名 数据类型;
    
    alter table employee add department varchar(20);
    
  • 修改列类型

     alter table 表名 modify 列名 数据类型;
     
     alter table employee modify department varchar(10);
    
  • 修改列名和类型

    alter table 表名 change 旧列名 新列名 数据类型;
    
    
     
     alter table employee change department dp varchar(20);
    
    
  • 删除列

    alter table 表名 drop 列名;
    
    alter table employee drop dp;
    

猜你喜欢

转载自blog.csdn.net/m0_45432976/article/details/114873488