-- 创建一个包含主键和唯一键的表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY, -- 主键,自动递增
username VARCHAR(50) UNIQUE NOT NULL, -- 唯一键,确保用户名唯一
email VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- 默认当前时间
);
-- 插入数据时,如果违反唯一键约束会报错
INSERT INTO users (username, email) VALUES ('john_doe', 'john@example.com');
-- 创建一个包含普通索引的表
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY, -- 主键
user_id INT NOT NULL,
product_name VARCHAR(100),
order_date DATE,
INDEX idx_user_id (user_id) -- 普通索引,加速查询
);
-- 创建一个包含复合索引的表
CREATE TABLE order_items (
item_id INT AUTO_INCREMENT PRIMARY KEY, -- 主键
order_id INT NOT NULL,
product_id INT NOT NULL,
quantity INT,
INDEX idx_order_product (order_id, product_id) -- 复合索引,加速多列查询
);
-- 创建一个包含全文索引的表(适用于MyISAM引擎)
CREATE TABLE articles (
article_id INT AUTO_INCREMENT PRIMARY KEY, -- 主键
title VARCHAR(255),
content TEXT,
FULLTEXT (title, content) -- 全文索引,用于全文搜索
) ENGINE=MyISAM;
-- 使用全文索引进行搜索
SELECT * FROM articles WHERE MATCH(title, content) AGAINST ('search term');
希望这些示例代码和解释对你有所帮助!
上一篇:mysql日期减一天
下一篇:mysqlid自增
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站