DDL-数据定义语言

DDL的作用:
   用于描述数据库中要存储实现实体的语言
   简单说就是创建数据库和表
明确:
   DDL是针对数据库和数据库中表的结构定义
DDL中常见的关键字:
   create:创建
   alter:改变
   Drop:删除
   Truncate:截断/摧毁
   
   
  库操作:
      1.创建一个数据库语法:
          CREATE{DATABASE|SCHEMA}{IF NOT EXISTS} DA_NAME
       创建的细节:
          [CRAETE_SPECIFICATION[,CRAETE_SPECIFICATION].....]
          //1.指定数据库使用的字符集,
              如果不指定,使用的就是安装时的字符集
          //2.指定数据库的校对规则(理解为字符排序的规则)
          CRAETE_SPECIFICATION:[DEFAULT] CHARACTER SET charset_name
        2.数据库的删除语法:
           DROP DATABASE [IF EXISTS] DB_NAME
        3.数据库的修改语法:
        ALERT DATABASE [IF EXISTS] DA_NAME
        注意:
           [ALERT_SPECIFICATION[,ALERT_SPECIFICATION]....]
           ALERT_SPECIFICATION:[DEFAULT] CHARACTER SET charset_name |[DEFAULT]COLLATE collation_name
           
   语法说明:
      默认情况下,语句以分号为分界符
      在Windows系统下,不区分下小写,但其他系统严格区分
      建议规则:
         1.关键字小写
         2.用户自定义的东西全部大写
         3.多个单词组成用下划线分割
练习:
    创建一个数据库名称Mydb1的数据库
    create database MyDB1
    如果不存在就创建
    create database if not exists Mydb1;
    
    查看有多少数据库
    show databases
    
    查看数据库的细节
    show create database mydb1;
    
    创建一个使用GBK字符集的myDB2的数据库
    create database Mydb2 charscter set gbk;
    
    创建一个使用GBK字符集,并带校对规则的Mydb3的数据库
    create database MyDb3 charscter set gbk collate gbk_chinese_ci;
    
    //删除前面创建的Mydb1数据库
    drop database myDb1;
    
    //修改myDb2的字符集的编码格式为utf_8
     alert database MyDb2 charscter set UTF-8;
    
 2.表结构的操作:
    前期的准备:
       查看当前的数据库
          select database();//该函数是MySQL特有
    
    使用指定的数据库:
       use database_name//database---数据库的名称
       
       创建表的语法:
          create table table_name(field1 datatype,field2 datatype,feild3 datatype);character set 字符集 collate 校对规则
          field:指列名
       datatype:指定列的类型
       
       修改表的语法:
          alert[IGNORE] table table_name
          ALERT_SPECIFICATION[, ALERT_SPECIFICATION]....
           ALERT_SPECIFICATION:
           //添加一列//修改列名//修改规则(修改列的数据类型)
           //删除一列
           ADD[COLUMN] COLUMN_DEFINITION[FIRST|AFTER COL_NAME]
           |CHANGE[COLUMN] old_col_name
           |COLUMN_DEFINITION[FIRST|AFTER COL_NAME]
           |MODIFY[COLUMN]COLUMN_DEFINITION[FIRST|AFTER COL_NAME]
               |DROP[COLUMN] COL_NAME
               
         修改表名的语法:
            rename table old_name to new_name;
            
   创建一个员工表:
      字段       类型
      ID        整型
      name      字符型
      gender    字符型
      birthday   日期型
      job      字符型
      salary    浮点型
      resume    文本类型
      
      create table EMPLOYEE(
      ID int,
      NAME varchar(100),
      GENDER varchar(100),
      birthday date,
      salary  float(8,2)
      RESUME longText
      );
           
查看表的详情
   desc table_name;
   
 在上面的基础上添加一张图片image列:
    alert table table_name add(image longblob);
    
 修改上面的Name列,使其长度改为60
   alert table table_name motify NAME varchar(60);
   
 删除image列
 alert table table _name drop IMAGE;
 
 修改表名
 rename table old_table_name to new_table_name;
 
 修改表的字符集
 alert table table_name character set utf-8;
 
 修改列名:
    alert table table_anme change NAME new_table_name varchar(100);
    
 删除表
   drop table table_name;
  

你可能感兴趣的:(MySQL)