SHOW DATABASES;
作用:列出 MySQL 中所有的数据库。
CREATE DATABASE database_name;
作用:创建一个新的数据库,database_name 是你要创建的数据库名称。
DROP DATABASE database_name;
作用:删除指定的数据库及其中的所有数据。
USE database_name;
作用:选择并激活一个数据库,后续的操作将针对该数据库进行。
SHOW TABLES;
作用:显示当前选择数据库中的所有表。
CREATE TABLE table_name ( column1 datatype, column2 datatype, ...);
作用:创建一个新表,并定义其列的名称和数据类型。每列必须指定数据类型(如:INT、VARCHAR、DATE 等)。
DESCRIBE table_name;
作用:显示表 table_name 的结构,包括字段名、数据类型、是否为 NULL、默认值等信息。
DROP TABLE table_name;
作用:删除表及其包含的数据。
ALTER TABLE table_name ADD column_name datatype;
作用:向已有表中添加新的列。
ALTER TABLE table_name DROP COLUMN column_name;
作用:删除表中指定的列。
SELECT * FROM table_name;
作用:查询并显示表 table_name 中的所有数据。
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
作用:向表中插入一条新记录。column1, column2 是列名,value1, value2 是对应列的值。
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
作用:更新表 table_name 中符合条件的记录。SET 指定要更新的字段和值,WHERE 是条件,确保只更新特定记录。
DELETE FROM table_name WHERE condition;
作用:删除表 table_name 中符合条件的记录。WHERE 是删除条件。
SELECT * FROM table_name WHERE column_name = value;
作用:查询 column_name 列的值为 value 的所有记录。
SELECT * FROM table_name WHERE column1 = value1 AND column2 = value2;
作用:同时满足多个条件的记录,AND 表示所有条件必须为真,OR 表示至少一个条件为真。
SELECT * FROM table_name WHERE column_name LIKE 'pattern';
作用:模糊匹配 column_name 中符合 pattern 的值,% 代表任意字符。例如,LIKE 'A%' 表示以 A 开头的值。
SELECT * FROM table_name WHERE column_name BETWEEN value1 AND value2;
作用:查询 column_name 在 value1 和 value2 范围之间的数据,包括边界值。
SELECT * FROM table_name WHERE column_name IS NULL;
作用:查询 column_name 值为 NULL 的记录。
SELECT * FROM table_name LIMIT n;
作用:限制查询结果的行数,n 是要查询的记录数量。
SELECT * FROM table_name ORDER BY column_name ASC;
作用:根据某一列排序查询结果,ASC 表示升序,DESC 表示降序。
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;
作用:将数据按照 column_name 列分组,并对每组数据进行统计(例如,COUNT 计算每组的记录数)。
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > 1;
作用:对分组后的数据进行进一步筛选。HAVING 用于条件过滤,而 WHERE 只能用于行级过滤。
SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;
作用:从两个表中返回符合条件的行,只有当 table1 和 table2 中的列值匹配时才返回记录。
SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
作用:返回左表所有记录以及右表中匹配的记录。如果右表没有匹配的记录,右表列会返回 NULL。
SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;
作用:返回右表所有记录以及左表中匹配的记录。如果左表没有匹配的记录,左表列会返回 NULL。
创建索引:
CREATE INDEX index_name ON table_name (column_name);
作用:创建一个索引,提高查询效率。index_name 是索引的名称,column_name 是要加索引的列。
DROP INDEX index_name ON table_name;
作用:删除指定的索引。
CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';
作用:创建一个新的用户并指定密码,username 是用户名,hostname 是主机名(如 % 表示任意主机)。
ALTER USER 'username'@'hostname' IDENTIFIED BY 'new_password';
作用:修改指定用户的密码。
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'hostname';
作用:授予用户对指定数据库的所有权限。
REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'hostname';
作用:撤销指定用户对指定数据库的所有权限。
DROP USER 'username'@'hostname';
作用:删除指定的用户。
mysqldump -u username -p database_name > backup_file.sql
作用:使用 mysqldump 工具将指定数据库导出为 SQL 文件,backup_file.sql 是保存备份的文件名。
mysql -u username -p database_name < backup_file.sql
作用:从 SQL 文件中恢复数据库。
START TRANSACTION;
作用:开始一个事务,所有操作将在事务结束时一起提交或回滚。
COMMIT;
作用:提交当前事务,确保事务内的所有修改生效。
ROLLBACK;
作用:撤销事务内的所有操作,恢复事务开始前的数据状态。
SHOW STATUS;
作用:显示数据库服务器的运行状态。
SHOW PROCESSLIST;
作用:显示当前正在执行的所有查询。
SHOW VARIABLES;
作用:显示 MySQL 配置变量和服务器参数的当前值。
SELECT VERSION();
作用:查询 MySQL 服务器的版本。
SHOW VARIABLES LIKE 'character_set%';
作用:查看数据库当前的字符集设置。