您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# MySQL数据库中有哪些基础操作命令
## 一、MySQL简介与基础概念
MySQL是最流行的开源关系型数据库管理系统之一,由瑞典MySQL AB公司开发,现属于Oracle旗下产品。它使用结构化查询语言(SQL)进行数据库操作,具有以下特点:
- 开源免费(社区版)
- 跨平台支持
- 高性能
- 可靠性强
- 易于使用
### 核心组件
1. **服务器端**:处理所有数据库指令
2. **客户端**:用于与服务器交互的工具
3. **存储引擎**:InnoDB(默认)、MyISAM等
## 二、数据库连接与退出
### 1. 连接MySQL服务器
```sql
mysql -u 用户名 -p
示例:
mysql -u root -p
系统会提示输入密码
exit;
-- 或
quit;
-- 或
\q
help;
-- 或
\h
SHOW DATABASES;
CREATE DATABASE 数据库名;
-- 指定字符集
CREATE DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
示例:
CREATE DATABASE school;
USE 数据库名;
示例:
USE school;
DROP DATABASE 数据库名;
示例:
DROP DATABASE test_db;
SELECT DATABASE();
SHOW TABLES;
基本语法:
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
);
DESCRIBE 表名;
-- 或
DESC 表名;
-- 或
SHOW COLUMNS FROM 表名;
SHOW CREATE TABLE 表名;
ALTER TABLE 表名 ADD COLUMN 列名 数据类型 [约束];
ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型 [约束];
ALTER TABLE 表名 DROP COLUMN 列名;
ALTER TABLE 旧表名 RENAME TO 新表名;
-- 或
RENAME TABLE 旧表名 TO 新表名;
DROP TABLE 表名;
-- 插入完整行
INSERT INTO 表名 VALUES (值1, 值2, ...);
-- 插入指定列
INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);
-- 批量插入
INSERT INTO 表名 (列1, 列2, ...) VALUES
(值1, 值2, ...),
(值1, 值2, ...),
...;
基本语法:
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;
UPDATE 表名 SET 列1=值1, 列2=值2, ... WHERE 条件;
示例:
UPDATE students SET age = 20 WHERE id = 1;
DELETE FROM 表名 WHERE 条件;
示例:
DELETE FROM students WHERE id = 5;
-- 普通索引
CREATE INDEX 索引名 ON 表名(列名);
-- 唯一索引
CREATE UNIQUE INDEX 索引名 ON 表名(列名);
-- 主键索引(创建表时指定)
SHOW INDEX FROM 表名;
DROP INDEX 索引名 ON 表名;
CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
示例:
CREATE USER 'teacher'@'localhost' IDENTIFIED BY 'password123';
GRANT 权限 ON 数据库.表 TO '用户名'@'主机';
示例:
-- 授予所有权限
GRANT ALL PRIVILEGES ON school.* TO 'teacher'@'localhost';
-- 授予特定权限
GRANT SELECT, INSERT ON school.students TO 'teacher'@'localhost';
REVOKE 权限 ON 数据库.表 FROM '用户名'@'主机';
SHOW GRANTS FOR '用户名'@'主机';
DROP USER '用户名'@'主机';
START TRANSACTION;
-- 或
BEGIN;
COMMIT;
ROLLBACK;
SET autocommit = 0; -- 关闭自动提交
SET autocommit = 1; -- 开启自动提交
mysqldump -u 用户名 -p 数据库名 > 备份文件.sql
mysql -u 用户名 -p 数据库名 < 备份文件.sql
SELECT VERSION();
-- 或
SHOW VARIABLES LIKE "%version%";
SHOW STATUS;
SHOW VARIABLES;
SHOW PROCESSLIST;
SHOW ENGINE INNODB STATUS;
本文详细介绍了MySQL数据库中最常用的基础操作命令,涵盖了从数据库连接、库表操作到数据CRUD、索引管理等多个方面。掌握这些基础命令是进行MySQL数据库开发和管理的前提。建议读者在实际操作中多加练习,并结合官方文档深入学习更高级的功能和优化技巧。
注意:执行修改或删除操作前请务必确认操作条件,避免数据丢失。生产环境操作建议先备份数据。 “`
这篇文章共计约2350字,采用Markdown格式编写,涵盖了MySQL的基础操作命令,内容结构清晰,适合初学者学习参考。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。