AUTO_INCREMENT(自动递增):
CREATE TABLE example_auto_increment ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) );
中文解释:自动递增属性用于让字段的值在插入时自动递增,通常用于主键。
DEFAULT value(默认值):
CREATE TABLE example_default_value (
id INT DEFAULT 0,
status ENUM('active', 'inactive') DEFAULT 'active');中文解释:默认值属性用于指定字段在未显式提供值时使用的默认值。
NOT NULL(非空):
CREATE TABLE example_not_null ( id INT NOT NULL, name VARCHAR(50) NOT NULL);
中文解释:非空属性指定字段的值不能为NULL。
PRIMARY KEY(主键):
CREATE TABLE example_primary_key ( id INT PRIMARY KEY, name VARCHAR(50) );
中文解释:主键属性定义了唯一标识表中每一行的字段,保证每行的唯一性。
UNIQUE(唯一约束):
CREATE TABLE example_unique ( email VARCHAR(50) UNIQUE, username VARCHAR(50) UNIQUE);
中文解释:唯一约束确保字段的值在整个表中是唯一的。
CHECK(检查约束):
CREATE TABLE example_check (
age INT CHECK (age >= 18),
status ENUM('active', 'inactive') CHECK (status IN ('active', 'inactive'))
);中文解释:检查约束用于指定条件,确保插入或更新的值满足条件。
FOREIGN KEY(外键):
CREATE TABLE orders ( order_id INT PRIMARY KEY, product_id INT, FOREIGN KEY (product_id) REFERENCES products(product_id) );CREATE TABLE products ( product_id INT PRIMARY KEY, product_name VARCHAR(50) );
中文解释:外键用于建立表与表之间的关联关系,确保参照表中的键在被引用表中存在。
INDEX(索引):
CREATE TABLE example_index ( id INT, name VARCHAR(50), INDEX idx_name (name) );
中文解释:索引用于加速对表的查询,提高检索效率。
COLLATE collation_name(排序规则和字符集):
CREATE TABLE example_collate ( id INT, name VARCHAR(50) COLLATE utf8mb4_unicode_ci );
中文解释:COLLATE用于指定排序规则和字符集。
COMMENT 'string'(注释):
CREATE TABLE example_comment ( id INT COMMENT '唯一标识符', name VARCHAR(50) COMMENT '实体名称');
中文解释:注释属性用于为字段提供描述性的注释信息。
BINARY(二进制):
CREATE TABLE example_binary ( id BINARY(16), data BLOB);
中文解释:BINARY属性用于指定字段以二进制格式存储。
ZEROFILL(零填充):
CREATE TABLE example_zerofill ( quantity INT ZEROFILL, price DECIMAL(8,2) ZEROFILL );
中文解释:ZEROFILL用于对数字型字段进行零填充。
UNSIGNED(无符号):
CREATE TABLE example_unsigned ( id INT UNSIGNED, balance DECIMAL(10,2) UNSIGNED );
中文解释:UNSIGNED属性用于指定整数型字段为无符号,不允许负数。
SERIAL(MySQL 8.0+):
CREATE TABLE example_serial ( id SERIAL PRIMARY KEY, description VARCHAR(255) );
中文解释:SERIAL属性(MySQL 8.0+)用于创建自动递增的大整数列。
INVISIBLE(MySQL 8.0+):
CREATE TABLE example_invisible ( id INT, name VARCHAR(50) INVISIBLE );
中文解释:INVISIBLE属性(MySQL 8.0+)用于隐藏列,仅在SELECT语句中显式指定时可见。




还没有评论,来说两句吧...