MySQL数据库中有哪些基础操作命令

发布时间:2021-07-13 16:05:35 作者:Leah
来源:亿速云 阅读:194
# MySQL数据库中有哪些基础操作命令

## 一、MySQL简介与基础概念

MySQL是最流行的开源关系型数据库管理系统之一,由瑞典MySQL AB公司开发,现属于Oracle旗下产品。它使用结构化查询语言(SQL)进行数据库操作,具有以下特点:

- 开源免费(社区版)
- 跨平台支持
- 高性能
- 可靠性强
- 易于使用

### 核心组件
1. **服务器端**:处理所有数据库指令
2. **客户端**:用于与服务器交互的工具
3. **存储引擎**:InnoDB(默认)、MyISAM等

## 二、数据库连接与退出

### 1. 连接MySQL服务器

```sql
mysql -u 用户名 -p

示例:

mysql -u root -p

系统会提示输入密码

2. 退出MySQL

exit;
-- 或
quit;
-- 或
\q

3. 查看帮助信息

help;
-- 或
\h

三、数据库级操作命令

1. 显示所有数据库

SHOW DATABASES;

2. 创建数据库

CREATE DATABASE 数据库名;
-- 指定字符集
CREATE DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

示例:

CREATE DATABASE school;

3. 选择/切换数据库

USE 数据库名;

示例:

USE school;

4. 删除数据库

DROP DATABASE 数据库名;

示例:

DROP DATABASE test_db;

5. 查看当前数据库

SELECT DATABASE();

四、表级操作命令

1. 显示当前数据库所有表

SHOW TABLES;

2. 创建表

基本语法:

CREATE TABLE 表名 (
    列名1 数据类型 [约束条件],
    列名2 数据类型 [约束条件],
    ...
    [表级约束条件]
);

示例:

CREATE TABLE students (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    age INT,
    gender ENUM('男','女'),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

3. 查看表结构

DESCRIBE 表名;
-- 或
DESC 表名;
-- 或
SHOW COLUMNS FROM 表名;

4. 查看建表语句

SHOW CREATE TABLE 表名;

5. 修改表结构

添加列

ALTER TABLE 表名 ADD COLUMN 列名 数据类型 [约束];

修改列

ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型 [约束];

删除列

ALTER TABLE 表名 DROP COLUMN 列名;

重命名表

ALTER TABLE 旧表名 RENAME TO 新表名;
-- 或
RENAME TABLE 旧表名 TO 新表名;

6. 删除表

DROP TABLE 表名;

五、数据操作命令(CRUD)

1. 插入数据(INSERT)

-- 插入完整行
INSERT INTO 表名 VALUES (值1, 值2, ...);

-- 插入指定列
INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);

-- 批量插入
INSERT INTO 表名 (列1, 列2, ...) VALUES 
(值1, 值2, ...),
(值1, 值2, ...),
...;

2. 查询数据(SELECT)

基本语法:

SELECT 列1, 列2, ... FROM 表名 [WHERE 条件] [ORDER BY 排序] [LIMIT 限制];

常用示例:

-- 查询所有列
SELECT * FROM students;

-- 查询特定列
SELECT name, age FROM students;

-- 带条件查询
SELECT * FROM students WHERE age > 18;

-- 排序查询
SELECT * FROM students ORDER BY age DESC;

-- 分页查询
SELECT * FROM students LIMIT 10 OFFSET 20;
-- 或
SELECT * FROM students LIMIT 20, 10;

-- 去重查询
SELECT DISTINCT age FROM students;

-- 聚合函数
SELECT COUNT(*) FROM students;
SELECT AVG(age) FROM students;
SELECT MAX(age) FROM students;
SELECT MIN(age) FROM students;
SELECT SUM(age) FROM students;

-- 分组查询
SELECT gender, COUNT(*) FROM students GROUP BY gender;

-- 连接查询
SELECT s.name, c.course_name 
FROM students s 
JOIN courses c ON s.course_id = c.id;

3. 更新数据(UPDATE)

UPDATE 表名 SET 列1=值1, 列2=值2, ... WHERE 条件;

示例:

UPDATE students SET age = 20 WHERE id = 1;

4. 删除数据(DELETE)

DELETE FROM 表名 WHERE 条件;

示例:

DELETE FROM students WHERE id = 5;

六、索引操作

1. 创建索引

-- 普通索引
CREATE INDEX 索引名 ON 表名(列名);

-- 唯一索引
CREATE UNIQUE INDEX 索引名 ON 表名(列名);

-- 主键索引(创建表时指定)

2. 查看索引

SHOW INDEX FROM 表名;

3. 删除索引

DROP INDEX 索引名 ON 表名;

七、用户与权限管理

1. 创建用户

CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';

示例:

CREATE USER 'teacher'@'localhost' IDENTIFIED BY 'password123';

2. 授权

GRANT 权限 ON 数据库.表 TO '用户名'@'主机';

示例:

-- 授予所有权限
GRANT ALL PRIVILEGES ON school.* TO 'teacher'@'localhost';

-- 授予特定权限
GRANT SELECT, INSERT ON school.students TO 'teacher'@'localhost';

3. 撤销权限

REVOKE 权限 ON 数据库.表 FROM '用户名'@'主机';

4. 查看权限

SHOW GRANTS FOR '用户名'@'主机';

5. 删除用户

DROP USER '用户名'@'主机';

八、事务控制命令

1. 开启事务

START TRANSACTION;
-- 或
BEGIN;

2. 提交事务

COMMIT;

3. 回滚事务

ROLLBACK;

4. 设置自动提交

SET autocommit = 0;  -- 关闭自动提交
SET autocommit = 1;  -- 开启自动提交

九、备份与恢复

1. 备份数据库(mysqldump命令行工具)

mysqldump -u 用户名 -p 数据库名 > 备份文件.sql

2. 恢复数据库

mysql -u 用户名 -p 数据库名 < 备份文件.sql

十、实用系统命令

1. 查看MySQL版本

SELECT VERSION();
-- 或
SHOW VARIABLES LIKE "%version%";

2. 查看系统状态

SHOW STATUS;

3. 查看系统变量

SHOW VARIABLES;

4. 查看进程列表

SHOW PROCESSLIST;

5. 查看引擎状态

SHOW ENGINE INNODB STATUS;

结语

本文详细介绍了MySQL数据库中最常用的基础操作命令,涵盖了从数据库连接、库表操作到数据CRUD、索引管理等多个方面。掌握这些基础命令是进行MySQL数据库开发和管理的前提。建议读者在实际操作中多加练习,并结合官方文档深入学习更高级的功能和优化技巧。

注意:执行修改或删除操作前请务必确认操作条件,避免数据丢失。生产环境操作建议先备份数据。 “`

这篇文章共计约2350字,采用Markdown格式编写,涵盖了MySQL的基础操作命令,内容结构清晰,适合初学者学习参考。

推荐阅读:
  1. MySQL数据库最常用到的基础操作命令
  2. Mysql数据库操作命令

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql

上一篇:MySQL数据库中怎么避免写入重复数据

下一篇:php中文乱码的解决方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》