MySQL语句-DDL

发布于:2022-12-27 ⋅ 阅读:(142) ⋅ 点赞:(0)

DDL-数据库操作

  • 查询
    • 查询所有数据库
      • SHOW DATABASES;
    • 查询当前数据库
      • SELECT DATABASE();
  • 创建
    • CREATE DATABASE [IF NOT EXISTS]数据库名[DEFAULT CHAREST 字符集][COLLATE 排序规则];
  • 删除
    • DROP DATABASE[IF EXISTS]数据库名;
  • 使用
    • USE 数据库名;

DDL-表操作-查询

  • 查询当前数据库所有表
    • SHOW TABLES;
  • 查询表结构
    • DESC(表名);
  • 查询指定表的建表语句
    • SHOW CREATE TABLE 表名;

DDL-表操作-创建

CREATE TABLE 表名(
  字段1 字段1类型 [COMMENT 字段1注释],
  字段2 字段2类型 [COMMENT 字段2注释],
  字段3 字段3类型 [COMMENT 字段3注释],
  ......
  字段N 字段N类型 [COMMENT 字段N注释]
  )[COMMENT 表注释];

DDL-表操作-数据类型

数据类型 字节长度 范围或用法
Bit 1 无符号[0,255],有符号[-128,127],天缘博客备注:BIT和BOOL布尔型都占用1字节
TinyInt 1 整数[0,255]
SmallInt 2 无符号[0,65535],有符号[-32768,32767]
MediumInt 3 无符号[0,2^24-1],有符号[-2^23,2^23-1]]
Int 4 无符号[0,2^32-1],有符号[-2^31,2^31-1]
BigInt 8 无符号[0,2^64-1],有符号[-2^63 ,2^63 -1]
Float(M,D) 4 单精度浮点数。天缘博客提醒这里的D是精度,如果D<=24则为默认的FLOAT,如果D>24则会自动被转换为DOUBLE型。
Double(M,D) 8  双精度浮点。
Decimal(M,D) M+1或M+2 未打包的浮点数,用法类似于FLOAT和DOUBLE,天缘博客提醒您如果在ASP中使用到Decimal数据类型,直接从数据库读出来的Decimal可能需要先转换成Float或Double类型后再进行运算。
Date 3 以YYYY-MM-DD的格式显示,比如:2009-07-19
Date Time 8 以YYYY-MM-DD HH:MM:SS的格式显示,比如:2009-07-19 11:22:30
TimeStamp 4 以YYYY-MM-DD的格式显示,比如:2009-07-19
Time 3 以HH:MM:SS的格式显示。比如:11:22:30
Year 1 以YYYY的格式显示。比如:2009
Char(M) M

定长字符串。

VarChar(M) M 变长字符串,要求M<=255
Binary(M) M 类似Char的二进制存储,特点是插入定长不足补0
VarBinary(M) M 类似VarChar的变长二进制存储,特点是定长不补0
Tiny Text Max:255 大小写不敏感
Text Max:64K 大小写不敏感
Medium Text Max:16M 大小写不敏感
Long Text Max:4G 大小写不敏感
TinyBlob Max:255 大小写敏感
Blob Max:64K 大小写敏感
MediumBlob Max:16M 大小写敏感
LongBlob Max:4G 大小写敏感
Enum 1或2 最大可达65535个不同的枚举值
Set 可达8 最大可达64个不同的值
Geometry    
Point    
LineString    
Polygon    
MultiPoint    
MultiLineString    
MultiPolygon    
GeometryCollection    

DDL-表操作-修改

  • 添加字段
    • ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释][约束];
      • 案例:为emp表添加一个新的字段“昵称”为nickname,类型varchar(20)
alter table EMP ADD NICKNAME VARCHAR(20) COMMENT '昵称';
  • 修改数据类型
    • ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
  • 修改字段名和字段类型
    • ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[COMMENT 注释][约束];
      • 案例:将emp表的nickname字段修改为username,类型为varchar(30)
  • 删除字段
    • ALTER TABLE 表名 DROP 字段名;
      • 案例:将emp表中的username删除。
    ALTER TABLE EMP DROP USERNAME;
  • 修改表名
    • ALTER TABLE 表名 RENAME TO 新表名;
      • 案例: 将emp表的表名修改为employee
        • ALTER TABLE EMP RENAME TO EMPLOYEE;
  • 删除表
    • DROP TABLE [IF EXISTS] 表名;
  • 删除指定表,并重新创建该表
    • TRUNCATE TABLE 表名;
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到