Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql key

作者:月下孤魂   发布日期:2025-05-20   浏览:74

-- 创建一个包含主键和唯一键的表
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');

解释说明:

  1. 主键 (PRIMARY KEY): 用于唯一标识表中的每一行记录。每个表只能有一个主键,并且主键不允许为空。
  2. 唯一键 (UNIQUE KEY): 确保某一列或多列组合的数据值不重复。一个表中可以有多个唯一键。
  3. 普通索引 (INDEX): 加速查询操作。可以对单列或多列创建索引。
  4. 复合索引: 对多个列创建一个索引,适用于多列组合查询。
  5. 全文索引 (FULLTEXT): 用于全文搜索,支持更复杂的文本匹配查询。需要注意的是,全文索引仅适用于MyISAM存储引擎。

希望这些示例代码和解释对你有所帮助!

上一篇:mysql日期减一天

下一篇:mysqlid自增

大家都在看

mysqlavg函数保留小数

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 插入更新

mysql.user

python mysql update

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站