1. 数据库操作
创建数据库
sql
复制
CREATE DATABASE database_name;
示例:
sql
复制
CREATE DATABASE company;
删除数据库
sql
复制
DROP DATABASE database_name;
示例:
sql
复制
DROP DATABASE company;
查看所有数据库
sql
复制
SHOW DATABASES;
选择数据库
sql
复制
USE database_name;
示例:
sql
复制
USE company;
2. 表操作
创建表
sql
复制
CREATE TABLE table_name (
column1 datatype constraints,
column2 datatype constraints,
...
) COMMENT '表注释';
示例:
sql
复制
CREATE TABLE employees (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '员工编号',
name VARCHAR(50) NOT NULL COMMENT '姓名',
age TINYINT UNSIGNED COMMENT '年龄',
salary DECIMAL(10, 2) COMMENT '薪水'
) COMMENT '员工表';
查看所有表
sql
复制
SHOW TABLES;
查看表结构
sql
复制
DESC table_name;
示例:
sql
复制
DESC employees;
删除表
sql
复制
DROP TABLE table_name;
示例:
sql
复制
DROP TABLE employees;
修改表结构
-
添加列:
sql
复制
ALTER TABLE table_name ADD column_name datatype;
示例:
sql
复制
ALTER TABLE employees ADD email VARCHAR(100);
-
删除列:
sql
复制
ALTER TABLE table_name DROP COLUMN column_name;
示例:
sql
复制
ALTER TABLE employees DROP COLUMN email;
-
修改列数据类型:
sql
复制
ALTER TABLE table_name MODIFY column_name new_datatype;
示例:
sql
复制
ALTER TABLE employees MODIFY name VARCHAR(100);
-
重命名表:
sql
复制
RENAME TABLE old_table_name TO new_table_name;
示例:
sql
复制
RENAME TABLE employees TO staff;
3. 数据操作
插入数据
sql
复制
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
示例:
sql
复制
INSERT INTO employees (name, age, salary)
VALUES ('张三', 25, 5000.00);
查询数据
-
查询所有数据:
sql
复制
SELECT * FROM table_name;
示例:
sql
复制
SELECT * FROM employees;
-
查询特定列:
sql
复制
SELECT column1, column2 FROM table_name;
示例:
sql
复制
SELECT name, salary FROM employees;
-
条件查询:
sql
复制
SELECT * FROM table_name WHERE condition;
示例:
sql
复制
SELECT * FROM employees WHERE age > 30;
-
排序查询:
sql
复制
SELECT * FROM table_name ORDER BY column_name ASC|DESC;
示例:
sql
复制
SELECT * FROM employees ORDER BY salary DESC;
-
限制查询结果:
sql
复制
SELECT * FROM table_name LIMIT number;
示例:
sql
复制
SELECT * FROM employees LIMIT 5;
更新数据
sql
复制
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
示例:
sql
复制
UPDATE employees
SET salary = 6000.00
WHERE name = '张三';
删除数据
sql
复制
DELETE FROM table_name WHERE condition;
示例:
sql
复制
DELETE FROM employees WHERE id = 1;
4. 约束
主键约束
sql
复制
CREATE TABLE table_name (
id INT PRIMARY KEY,
...
);
唯一约束
sql
复制
CREATE TABLE table_name (
email VARCHAR(100) UNIQUE,
...
);
非空约束
sql
复制
CREATE TABLE table_name (
name VARCHAR(50) NOT NULL,
...
);
外键约束
sql
复制
CREATE TABLE orders (
order_id INT PRIMARY KEY,
user_id INT,
FOREIGN KEY (user_id) REFERENCES users(id)
);
5. 其他常用操作
清空表数据
sql
复制
TRUNCATE TABLE table_name;
示例:
sql
复制
TRUNCATE TABLE employees;
复制表结构
sql
复制
CREATE TABLE new_table LIKE old_table;
示例:
sql
复制
CREATE TABLE employees_backup LIKE employees;
复制表数据
sql
复制
INSERT INTO new_table SELECT * FROM old_table;
示例:
sql
复制
INSERT INTO employees_backup SELECT * FROM employees;
6. 查询优化
添加索引
sql
复制
CREATE INDEX index_name ON table_name (column_name);
示例:
sql
复制
CREATE INDEX idx_name ON employees (name);
查看索引
sql
复制
SHOW INDEX FROM table_name;
示例:
sql
复制
SHOW INDEX FROM employees;
删除索引
sql
复制
DROP INDEX index_name ON table_name;
示例:
sql
复制
DROP INDEX idx_name ON employees;
7. 用户和权限管理
创建用户
sql
复制
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
示例:
sql
复制
CREATE USER 'admin'@'localhost' IDENTIFIED BY '123456';
授予权限
sql
复制
GRANT permission ON database_name.table_name TO 'username'@'host';
示例:
sql
复制
GRANT ALL PRIVILEGES ON company.* TO 'admin'@'localhost';
撤销权限
sql
复制
REVOKE permission ON database_name.table_name FROM 'username'@'host';
示例:
sql
复制
REVOKE ALL PRIVILEGES ON company.* FROM 'admin'@'localhost';
刷新权限
sql
复制
FLUSH PRIVILEGES;
以上是 MySQL 的基本语句,涵盖了数据库、表、数据的操作。如果你有更具体的需求或问题,可以随时告诉我!