数据定义语言(DDL)简介
DDL是_数据定义语言_的缩写,是在SQL(结构化查询语言)中用于全面描述数据库设计的命令集。DDL中的主要命令包括:
- CREATE:用于创建新对象。
- ALTER:用于修改现有对象的结构。
- DROP:用于删除对象。
MySQL中CREATE、ALTER和DROP命令的使用
a. CREATE
CREATE命令用于创建新数据库、新表或新视图。
- 示例:
CREATE DATABASE toko_buku; - 说明:该命令用于创建一个名为
toko_buku的新数据库。
b. ALTER
ALTER命令用于修改已创建的表的结构。此操作可以添加、删除、修改列,修改表,甚至为列赋予新属性。
- 示例:
ALTER TABLE buku ADD judul_buku varchar(20); - 说明:该命令用于在
buku表中添加一个名为judul_buku的新字段(列),数据类型为varchar,最大字符长度为20。
c. DROP
DROP命令用于永久删除数据库中的对象。这些对象可以是数据库本身、表、函数、索引、存储过程、触发器或视图。
- 示例:
DROP DATABASE toko_buku; - 说明:该命令用于删除名为
toko_buku的数据库。
MySQL中的数据类型
选择合适的数据类型对于数据库存储效率至关重要。以下是MySQL中的数据类型分类:
A. 数值数据类型(数字)
用于存储数字类型的数据。
- TINYINT:存储整数(正/负)。范围:-128 到 127。大小:1字节(8位)。
- SMALLINT:存储整数。范围:-32768 到 32767。大小:2字节(16位)。
- MEDIUMINT:存储整数。范围:-8388608 到 8388607。大小:3字节(24位)。
- INT:存储整数。范围:-2147483648 到 2147483647。大小:4字节(32位)。
- BIGINT:存储大范围整数。范围:-9223372036854775808 到 9223372036854775807。大小:8字节(64位)。
- FLOAT:存储单精度浮点数。大小:4字节(32位)。
- DOUBLE / REAL:存储双精度浮点数。大小:8字节(64位)。
- DECIMAL / NUMERIC:存储高精度浮点数。大小:8字节(64位)。
B. 字符串数据类型(文本)
用于存储字符或文本类型的数据。
- CHAR:存储固定长度的字符串(例如:商品ID、身份证号)。范围:0 到 255个字符。
- VARCHAR:存储可变长度的字符串。范围:0 到 65,535个字符(最新版本)。
- TINYTEXT:存储短文本数据。范围:0 到 255个字符。
- TEXT:存储标准文本数据。范围:0 到 65,535个字符。
- MEDIUMTEXT:存储中等长度文本数据。范围:0 到 16,777,215个字符。
- LONGTEXT:存储超长文本数据。范围:0 到 4,294,967,295个字符。
C. 日期和时间数据类型
用于存储时间和日期数据。
- DATE:存储日期(格式:
YYYY-MM-DD)。范围:1000-01-01 到 9999-12-31。大小:3字节。 - TIME:存储时间(格式:
HH:MM:SS)。范围:-838:59:59 到 +838:59:59。大小:3字节。 - DATETIME:日期和时间的组合(格式:
YYYY-MM-DD HH:MM:SS)。范围:1000-01-01 00:00:00 到 9999-12-31 23:59:59。大小:8字节。 - YEAR:存储年份(格式:
YYYY)。范围:1900 到 2155。大小:1字节。
D. BLOB(二进制)数据类型
BLOB是_Binary Large Object_的缩写。用于存储纯二进制数据,区分大小写,适用于多媒体文件如图像、文档或音频。
- BIT:存储二进制数据。范围:64位二进制数字。
- TINYBLOB:最大大小255字节。
- BLOB:最大大小65,535字节。
- MEDIUMBLOB:最大大小16,777,215字节。
- LONGBLOB:最大大小4,294,967,295字节。
SQL中的键类型
SQL中的键是多个属性(列)的组合,用于唯一标识表中的数据行,或将一个表与另一个表关联(建立关系)。
- 超键(Super Key):能够唯一标识表中每一行数据的属性集合。
- 候选键(Candidate Key):不包含冗余属性的最小超键。候选键从最少的字段组合中选出,用于标识唯一值。
- 主键(Primary Key):被选为主要标识记录的候选键。主键中的数据不能为空(Not Null)且不能重复。每个表只能有一个主键。
- 备用键(Alternate Key):未被选为主键的候选键。
- 外键(Foreign Key):用于关联一个表与另一个表的键,形成父表和子表关系。父表(主表)中的主键被子表(相关表)中的外键引用。
- 复合键(Composite Key):由两个或多个属性组成的键,用于唯一标识实体。通常在没有单个列满足主键条件时使用。
MySQL中的约束类型
_约束_是应用于列或表的规则限制,用于维护数据的完整性和有效性。
- NOT NULL:确保列在插入记录时不能为空,该列必须填写数据。
- UNIQUE:确保列中的每个值互不相同(没有重复记录)。
- PRIMARY KEY:
NOT NULL和UNIQUE约束的组合。唯一标识表中的每一行。一个表只允许有一个PRIMARY KEY。 - FOREIGN KEY:维护表之间的引用完整性。确保子表列中的值必须在父表(其他表)的列中有有效引用。
- CHECK:在数据存储到数据库之前进行验证或检查。数据会以布尔值进行评估;如果满足条件则返回_true_并存储,如果为_false_,SQL将拒绝并显示错误消息。
Tags:
#编程
W
作者
Wilan
巴厘岛Tekno的常驻撰稿人,积极分享技术、编程和软件工程领域的知识。
返回首页
最后更新日期:2026年5月26日