MySQL系列 DDL语句(Data Definition Language)

DDL语句(Data Definition Language)

一、DDL语句

  1. DDL(Data Definition Language)数据定义语句,这些语句定义了不同的数据段、数据库、表、列、索引、约束等数据库对象
  2. create database
  3. drop database
  4. create table
  5. alter table
  6. rename table
  7. drop table
  8. create index
  9. drop index

二、数据库操作

  1. 创建数据库
    • 语法

      • CREATE DATABASE [IF NOT EXISTS] <dbname>
        create database if not exists test_db character set utf8
        
    • 参数

      • []: 表示可选参数
      • <>: 必填参数
      • utf8: 字符编码格式,utf8兼容中文
    • 注意事项

      • 数据库名称不能重复
  2. 修改数据库字符集
    • alter database <dbname> character set='utf8';
      
  3. 修改数据库名称
    • 导出数据,创建新的数据库,导入数据
    • 官方不推荐直接修改数据库名称(5.1.7到5.1.23版本可用):RENAME database <old_name> TO <new_name>;
  4. 删除数据库
    • drop database <dbname>;
      

三、数据类型

  1. 整数
    • tinyint 极小整数 (-128,127) (0,255) 占 1字节
    • bigint:大整数 占8字节
    • 定义语法
      • age int(2)
  2. 小数
    • float: 单精度浮点数 精度7位小数 占4字节
    • double:双精度浮点数 精度15位小数 占8字节
    • decimal:大浮点数 精度30位小数 占17字节
    • 定义语法
      • price float(7,2) 7包含小数位
      • price decimal(30,29) 30位包含小数位
  3. 字符串
    • char(n) 定义字符串 0-255
    • varchar(n) 变长字符串 0-65535
    • text(n) 文本类型 0-65535
    • binary(n) 二进制 0-n
    • 定义语法
      • name varchar(10)
    • char和varchar区别
      • 存储空间:char(10)不管存多少字节都会分配10个字符的空间,varchar(10)存多少就用多少空间
      • 性能:char处理速度比varchar快
      • 适用场景:能预估内容长度用char,不能预估内容长度用varchar
  4. 日期
    • year
      • 类型用来表示年份,格式为YYYY,在所有的日期时间类型中所占用的存储空间最小,只需要 1个字节 的存储空间
    • date
      • 类型表示日期,没有时间部分,格式为 YYYY-MM-DD
      • YYYY表示年份,MM表示月份,DD表示日期。需要 3个字节 的存储空间
    • time
      • 类型用来表示时间,不包含日期部分。在MySQL中,需要 3个字节 的存储空间来存储TIME类型的数据
      • 可以使用“HH:MM:SS”格式来表示TIME类型,其中,HH表示小时,MM表示分钟,SS表示秒
    • timestamp
      • 在所有的日期时间类型中占用的存储空间最大,总共需要 8 个字节的存储空间
      • 在格式上为DATE类型和TIME类型的组合,可以表示为 YYYY-MM-DD HH:MM:SS
      • 其中YYYY表示年份,MM表示月份,DD表示日期,HH表示小时,MM表示分钟,SS表示秒
    • datetime
      • 表示日期时间,其显示格式与DATETIME类型相同,都是 YYYY-MM-DD HH:MM:SS ,需要4个字节的存储空间。
      • TIMESTAMP存储的时间范围比DATETIME要小很多,只能存储“1970-01-01 00:00:01 UTC”到“2038-01-19 03:14:07 UTC”之间的时间。
      • UTC表示世界统一时间,也叫作世界标准时间
    • 定义语法
      • birthday date
  5. 二进制
    • tinyblob 0-255
    • blob 65KB
    • mediumblob 16M 存图片
    • longblob 4G 存视频

四、创建表

  1. 建表语法

    • create table <table_name>(
          字段名称1   数据类型(长度)  约束类型,
          ......
          #最后一行不能加逗号,否则会报语法错误
          字段名称2   数据类型(长度)  约束类型 
      )engine=innodb charset=utf8;
      
    • 举例

      • CREATE TABLE `student` (
          	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值