-- 创建数据库示例
CREATE DATABASE example_db;
-- 使用数据库
USE example_db;
-- 创建表示例
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 插入数据示例
INSERT INTO users (username, email) VALUES ('john_doe', 'john@example.com');
-- 查询数据示例
SELECT * FROM users;
-- 更新数据示例
UPDATE users SET email = 'new_email@example.com' WHERE id = 1;
-- 删除数据示例
DELETE FROM users WHERE id = 1;
-- 创建索引示例
CREATE INDEX idx_username ON users (username);
-- 创建视图示例
CREATE VIEW active_users AS
SELECT * FROM users WHERE created_at > NOW() - INTERVAL 1 YEAR;
-- 存储过程示例
DELIMITER //
CREATE PROCEDURE get_user_by_id(IN user_id INT)
BEGIN
SELECT * FROM users WHERE id = user_id;
END //
DELIMITER ;
-- 调用存储过程示例
CALL get_user_by_id(1);
-- 触发器示例
DELIMITER //
CREATE TRIGGER before_user_insert
BEFORE INSERT ON users
FOR EACH ROW
BEGIN
IF NEW.email NOT LIKE '%_@__%.__%' THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Invalid email format';
END IF;
END //
DELIMITER ;
example_db
的数据库,并使用该数据库。users
的表,包含 id
、username
、email
和 created_at
字段。id
是主键并自动递增。users
表中插入一条记录。users
表中查询所有记录。users
表中 id
为 1 的记录的 email
字段。users
表中 id
为 1 的记录。users
表的 username
字段上创建索引以提高查询效率。active_users
的视图,显示过去一年内创建的用户。get_user_by_id
的存储过程,根据传入的 user_id
查询用户信息。get_user_by_id
存储过程查询 id
为 1 的用户信息。before_user_insert
的触发器,在插入新用户时检查邮箱格式是否有效,如果无效则抛出错误。以上代码展示了 MySQL 8.0 中常见的操作和功能。
上一篇:mysql修改密码
下一篇:mysql 截取字符串
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站