mysql 命令
### MySQL命令详解 #### 一、数据库备份与恢复 ##### 数据库备份 1. **指定字符集进行备份:** ```sql mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 文件名.sql ``` 这条命令将指定数据库的数据以`latin1`字符集格式备份到一个`.sql`文件中。 2. **简单备份:** ```sql mysqldump -u 用户名 -p 数据库名 > 文件名.sql ``` 此命令用于快速备份数据库,无需指定额外参数。 3. **包含DROP TABLE语句的备份:** ```sql mysqldump -u 用户名 -p -d --add-drop-table 数据库名 > 文件名.sql ``` 使用此命令备份时,每个表之前都会有一个`DROP TABLE`语句,方便后续恢复时清空原有数据。 4. **特定表的备份:** ```sql mysqldump -u 用户名 -p -t 表名 数据库名 > 文件名.sql ``` 只备份指定的表结构和数据。 ##### 数据库恢复 1. **使用source命令恢复:** ```sql mysql -u 用户名 -p USE 数据库名; SOURCE 文件名.sql; ``` 首先登录MySQL客户端,选择要恢复的数据库,然后执行`SOURCE`命令加载备份文件。 2. **使用mysqldump工具恢复:** ```sql mysqldump -u 用户名 -p 数据库名 < 文件名.sql ``` 直接通过mysqldump工具恢复数据到指定数据库。 3. **使用mysql命令恢复:** ```sql mysql -u 用户名 -p -D 数据库名 < 文件名.sql ``` 这种方式也是直接将备份文件中的内容导入到指定的数据库中。 #### 二、数据库操作命令 1. **连接MySQL命令行客户端:** ```sql mysql -u 用户名 -p ``` 输入用户名后,会提示输入密码。 2. **创建数据库:** ```sql CREATE DATABASE 数据库名; ``` 创建一个新的数据库。 3. **查看所有数据库:** ```sql SHOW DATABASES; ``` 显示当前MySQL服务器上所有的数据库列表。 4. **删除数据库:** ```sql DROP DATABASE 数据库名; ``` 删除指定的数据库。 5. **选择数据库:** ```sql USE 数据库名; ``` 选择要使用的数据库。 6. **查看当前使用的数据库:** ```sql SELECT DATABASE(); ``` 返回当前正在使用的数据库名称。 7. **显示数据库中的所有表:** ```sql SHOW TABLES; ``` 列出当前数据库中所有的表。 #### 三、表操作命令 1. **创建表:** ```sql CREATE TABLE 表名 ( 字段1 类型 约束, 字段2 类型 约束, ... 字段N 类型 约束 ); ``` 例如: ```sql CREATE TABLE MyClass ( id INT(4) NOT NULL PRIMARY KEY AUTO_INCREMENT, name CHAR(20) NOT NULL, sex INT(4) NOT NULL DEFAULT '0', degree DOUBLE(16,2) ); ``` 2. **查看表结构:** ```sql DESC 表名; SHOW COLUMNS FROM 表名; ``` 查看表的具体字段信息。 3. **删除表:** ```sql DROP TABLE 表名; ``` 删除指定的表。 4. **插入数据:** ```sql INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...); ``` 例如: ```sql INSERT INTO MyClass VALUES (1, 'Tom', 96.45), (2, 'Joan', 82.99), (3, 'Wang', 96.59); ``` 5. **查询数据:** ```sql SELECT 字段1, 字段2, ... FROM 表名 WHERE 条件; ``` 例如: ```sql SELECT * FROM MyClass; SELECT * FROM MyClass ORDER BY id LIMIT 0, 2; ``` 6. **删除数据:** ```sql DELETE FROM 表名 WHERE 条件; ``` 例如: ```sql DELETE FROM MyClass WHERE id = 1; ``` 7. **更新数据:** ```sql UPDATE 表名 SET 字段名 = 新值 WHERE 条件; ``` 例如: ```sql UPDATE MyClass SET name = 'Mary' WHERE id = 1; ``` 8. **添加字段:** ```sql ALTER TABLE 表名 ADD 字段名 类型 [约束]; ``` 例如: ```sql ALTER TABLE MyClass ADD passtest INT(4) DEFAULT '0'; ``` 9. **重命名表:** ```sql RENAME TABLE 原表名 TO 新表名; ``` 例如: ```sql RENAME TABLE MyClass TO YouClass; ``` #### 四、常见数据类型 1. **整型(INT):** ```sql INT[(M)]; ``` 其中`M`表示显示宽度。 2. **浮点型/双精度(DOUBLE):** ```sql DOUBLE[(M, D)][ZEROFILL]; ``` `M`代表总位数,`D`代表小数点后的位数。 3. **日期类型(DATE):** ```sql DATE; ``` 存储日期值,范围为`1000-01-01`至`9999-12-31`,格式为`YYYY-MM-DD`。 以上是关于MySQL的一些常用命令及操作,对于数据库管理来说非常重要。希望这些知识点能够帮助你更好地理解和使用MySQL。