安装好MySQL以后,怎么使用mysql命令来操作数据库呢?
这里为您整理了一份非常全面和实用的 MySQL 命令指南,从连接到数据库、基本操作到高级查询和管理,并附有清晰的示例。
---
一、 连接与退出 MySQL**
1. 连接到本地 MySQL 服务器
```bash
# 方式 1:回车后输入密码(推荐,密码隐藏)
mysql -u root -p
# 方式 2:在命令中直接指定密码(不安全,适用于脚本)
mysql -u root -p你的密码
# 方式 3:指定主机、用户和数据库
mysql -h localhost -u 用户名 -p 数据库名
```
* `-u`:指定用户名(如 `root`)。
* `-p`:提示输入密码。
* `-h`:指定主机地址(如 `127.0.0.1` 或远程 IP)。
2. 退出 MySQL 命令行
```sql
mysql> exit;
-- 或者
mysql> quit;
-- 或者使用快捷键
Ctrl + D
```
---
二、 数据库操作 (Database)**
1. 显示所有数据库
```sql
SHOW DATABASES;
```
2. 创建新数据库
```sql
CREATE DATABASE 数据库名;
CREATE DATABASE mydb; -- 示例
-- 指定字符集创建
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
3. 选择/使用某个数据库
```sql
USE 数据库名;
USE mydb; -- 示例
```
4. 删除数据库
```sql
DROP DATABASE 数据库名;
DROP DATABASE mydb; -- 示例(谨慎操作!)
```
5. 显示当前选择的数据库
```sql
SELECT DATABASE();
```
---
三、 表操作 (Table)**
1. 显示当前数据库中的所有表
```sql
SHOW TABLES;
```
2. 创建新表
```sql
CREATE TABLE 表名 (
列1名 数据类型 [约束],
列2名 数据类型 [约束],
...
[表级约束]
);
-- 示例:创建一个 users 表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
email VARCHAR(100) NOT NULL,
age INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
**常用数据类型:**
* `INT`:整数
* `VARCHAR(n)`:可变长度字符串(最大 `n` 字符)
* `TIMESTAMP` / `DATETIME`:日期时间
* `DATE`:日期
* `TEXT`:长文本
* `DECIMAL(M, N)`:精确小数(M 是总位数,N 是小数位数)
**常用约束:**
* `PRIMARY KEY`:主键(唯一且非空)
* `AUTO_INCREMENT`:自增(通常用于主键)
* `NOT NULL`:非空
* `UNIQUE`:唯一
* `DEFAULT`:默认值
* `FOREIGN KEY`:外键
3. 查看表结构
```sql
DESCRIBE 表名;
-- 或简写
DESC 表名;
DESC users; -- 示例
```
4. 查看建表语句
```sql
SHOW CREATE TABLE 表名;
```
5. 删除表
```sql
DROP TABLE 表名;
DROP TABLE users; -- 示例(谨慎操作!)
```
6. 修改表 (ALTER TABLE)
* **添加列**
```sql
ALTER TABLE 表名 ADD COLUMN 列名 数据类型 [约束];
ALTER TABLE users ADD COLUMN phone VARCHAR(15); -- 示例
```
* **修改列数据类型**
```sql
ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型;
```
* **重命名列**
```sql
ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 数据类型;
```
* **删除列**
```sql
ALTER TABLE 表名 DROP COLUMN 列名;
```
* **添加主键**
```sql
ALTER TABLE 表名 ADD PRIMARY KEY (列名);
```
另外搭配一款非常便捷的MYSQL备份工具,可定时备份、异地备份,MYSQL导出导入。可本地连接LINUX里的MYSQL,简单便捷。可以大大地提高工作效率喔。