MySQL的常用操作涵盖了数据库、表、数据等多个层面的管理。以下是对这些常用操作的详细归纳:
一、数据库操作
- 查询现有数据库
- 语法:
SHOW DATABASES;
- 说明:此命令用于列出MySQL服务器上所有的数据库。
- 语法:
- 创建数据库
- 语法:
CREATE DATABASE 数据库名 [CHARACTER SET 字符集];
- 示例:
CREATE DATABASE test_db CHARSET utf8;
- 说明:此命令用于创建一个新的数据库,并可以指定字符集(如utf8)。如果不指定字符集,将使用MySQL的默认字符集。
- 语法:
- 选中数据库
- 语法:
USE 数据库名;
- 示例:
USE test_db;
- 说明:在执行表操作之前,需要先选中一个数据库。
- 语法:
- 删除数据库
- 语法:
DROP DATABASE 数据库名;
- 示例:
DROP DATABASE test_db;
- 说明:此命令用于删除指定的数据库及其包含的所有表,操作需谨慎。
- 语法:
二、表操作
- 查看数据库现有表
- 语法:
SHOW TABLES;
- 说明:此命令用于列出当前数据库中所有的表。
- 语法:
- 查看表结构
- 语法:
DESC 表名;
或SHOW CREATE TABLE 表名;
- 示例:
DESC test_table;
- 说明:
DESC
命令用于查看表的列信息,而SHOW CREATE TABLE
命令则显示创建表的SQL语句。
- 语法:
- 创建表
- 语法:
CREATE TABLE 表名 (列名1 数据类型 [约束], 列名2 数据类型 [约束], ...);
- 示例:
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT);
- 说明:此命令用于创建新表,并定义表的列和约束。
- 语法:
- 删除表
- 语法:
DROP TABLE 表名;
- 示例:
DROP TABLE test_table;
- 说明:此命令用于删除指定的表,操作需谨慎。
- 语法:
- 修改表结构
- 添加列:
ALTER TABLE 表名 ADD 列名 数据类型 [约束];
- 删除列:
ALTER TABLE 表名 DROP COLUMN 列名;
- 修改列:
ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型 [新约束];
- 重命名列(MySQL 5.7及以后版本支持):
ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [新约束];
- 修改表名:
ALTER TABLE 旧表名 RENAME TO 新表名;
- 添加列:
三、数据操作
- 插入数据
- 全列插入:
INSERT INTO 表名 VALUES (值1, 值2, ...);
- 指定列插入:
INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);
- 示例:
INSERT INTO users (name, age) VALUES ('John Doe', 30);
- 全列插入:
- 查询数据
- 基本查询:
SELECT 列名 FROM 表名 WHERE 条件;
- 示例:
SELECT name, age FROM users WHERE age > 25;
- 基本查询:
- 更新数据
- 语法:
UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2, ... WHERE 条件;
- 示例:
UPDATE users SET age = 31 WHERE name = 'John Doe';
- 语法:
- 删除数据
- 语法:
DELETE FROM 表名 WHERE 条件;
- 示例:
DELETE FROM users WHERE age < 20;
- 注意:
TRUNCATE TABLE 表名;
命令也可以用于清空表中的所有数据,但它是删除并重建表,因此速度更快,且不会触发DELETE触发器。
- 语法:
四、其他常用操作
- 用户管理:包括创建用户、授权、撤销权限等,使用
CREATE USER
、GRANT
、REVOKE
等命令。 - 备份与恢复:可以使用
mysqldump
工具进行数据库的备份,使用mysql
命令行工具进行恢复。 - 索引管理:为了提高查询效率,可以对表中的列创建索引。使用
CREATE INDEX
命令创建索引,DROP INDEX
命令删除索引。
MySQL的常用操作涵盖了数据库的创建、管理、查询、更新、删除等多个方面,