下面是MySQL命令行下18个常用命令的详细讲解攻略。
1. 连接MySQL
要进入MySQL数据库的命令行,需要使用以下命令:
$ mysql -u[用户名] -p[密码] [数据库名]
示例:
$ mysql -uroot -p123456 testdb
2. 查看MySQL版本
使用以下命令可以查看当前安装的MySQL版本:
mysql> SELECT VERSION();
示例:
mysql> SELECT VERSION();
+---------------+
| VERSION() |
+---------------+
| 5.7.28-0ubuntu|
+---------------+
1 row in set (0.00 sec)
3. 显示所有的数据库
使用以下命令可以显示当前所有的数据库:
mysql> SHOW DATABASES;
示例:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| testdb |
+--------------------+
5 rows in set (0.00 sec)
4. 创建数据库
使用以下命令可以创建一个新的数据库:
mysql> CREATE DATABASE [数据库名];
示例:
mysql> CREATE DATABASE mydb;
Query OK, 1 row affected (0.00 sec)
5. 切换数据库
使用以下命令可以切换到指定的数据库:
mysql> USE [数据库名];
示例:
mysql> USE mydb;
Database changed
6. 查看当前选择的数据库
使用以下命令可以查看当前选择的数据库:
mysql> SELECT DATABASE();
示例:
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| mydb |
+------------+
1 row in set (0.00 sec)
7. 显示当前数据库的所有表
使用以下命令可以显示当前数据库的所有表:
mysql> SHOW TABLES;
示例:
mysql> SHOW TABLES;
+------------------+
| Tables_in_mydb |
+------------------+
| users |
| products |
+------------------+
2 rows in set (0.00 sec)
8. 显示表结构
使用以下命令可以显示某个表的结构:
mysql> DESCRIBE [表名];
示例:
mysql> DESCRIBE users;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(50) | NO | | NULL | |
| gender | tinyint(1) | NO | | NULL | |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
9. 创建表
使用以下命令可以创建一个新表:
mysql> CREATE TABLE [表名] ([列名] [数据类型] [注释], [...]);
示例:
mysql> CREATE TABLE products (
-> id INT NOT NULL PRIMARY KEY,
-> name VARCHAR(50) NOT NULL,
-> price DECIMAL(12, 2) NOT NULL,
-> description TEXT,
-> created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
-> );
Query OK, 0 rows affected (0.02 sec)
10. 插入数据
使用以下命令可以向表中插入一行数据:
mysql> INSERT INTO [表名] ([列名], [...]) VALUES ([值], [...]);
示例:
mysql> INSERT INTO users (id, name, gender) VALUES (1, 'Tom', 1);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO users (id, name, gender) VALUES (2, 'Mary', 0);
Query OK, 1 row affected (0.00 sec)
11. 查询数据
使用以下命令可以从表中查询数据:
mysql> SELECT [列名, ...] FROM [表名] [WHERE 条件];
示例:
mysql> SELECT * FROM users;
+----+------+--------+
| id | name | gender |
+----+------+--------+
| 1 | Tom | 1 |
| 2 | Mary | 0 |
+----+------+--------+
2 rows in set (0.00 sec)
12. 更新数据
使用以下命令可以更新表中的数据:
mysql> UPDATE [表名] SET [列名]=[值], [...] WHERE 条件;
示例:
mysql> UPDATE users SET name='Jack' WHERE id=1;
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM users;
+----+------+--------+
| id | name | gender |
+----+------+--------+
| 1 | Jack | 1 |
| 2 | Mary | 0 |
+----+------+--------+
2 rows in set (0.00 sec)
13. 删除数据
使用以下命令可以删除表中的数据:
mysql> DELETE FROM [表名] WHERE 条件;
示例:
mysql> DELETE FROM users WHERE id=1;
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM users;
+----+------+--------+
| id | name | gender |
+----+------+--------+
| 2 | Mary | 0 |
+----+------+--------+
1 row in set (0.00 sec)
14. 添加索引
使用以下命令可以给表中的某列添加索引:
mysql> ALTER TABLE [表名] ADD INDEX [索引名] ([列名], [...]);
示例:
mysql> ALTER TABLE products ADD INDEX idx_name (name);
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0
15. 修改表结构
使用以下命令可以修改表结构:
mysql> ALTER TABLE [表名] MODIFY [列名] [数据类型] [注释];
示例:
mysql> ALTER TABLE products MODIFY description VARCHAR(255);
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
16. 备份数据
使用以下命令可以备份整个数据库:
$ mysqldump -u[用户名] -p[密码] [数据库名] > [备份文件名].sql
示例:
$ mysqldump -uroot -p123456 testdb > backup.sql
17. 恢复数据
使用以下命令可以将备份的数据恢复到数据库中:
$ mysql -u[用户名] -p[密码] [数据库名] < [备份文件名].sql
示例:
$ mysql -uroot -p123456 testdb < backup.sql
18. 退出MySQL
使用以下命令可以退出MySQL命令行:
mysql> EXIT;
示例:
mysql> EXIT;
Bye
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL命令行下18个常用命令 - Python技术站