MySQL 语法表

MySQL 语法表

MySQL 语法表

1. 概述

MySQL 是一种开源的,关系型数据库管理系统(RDBMS),它使用结构化查询语言(SQL)进行数据库的管理和操作。MySQL 的语法包含多种类型的命令,用于创建、修改和查询数据库,以及对数据库进行备份和恢复等操作。本文将详细介绍 MySQL 常用的语法及其使用方法。

2. 数据库操作

2.1 创建数据库

使用 CREATE DATABASE 命令可以创建一个新的数据库。语法如下:

CREATE DATABASE database_name;

其中,database_name 是要创建的数据库的名称。下面是一个示例:

CREATE DATABASE mydatabase;

2.2 删除数据库

DROP DATABASE 命令可以删除一个数据库。语法如下:

DROP DATABASE database_name;

其中,database_name 是要删除的数据库的名称。下面是一个示例:

DROP DATABASE mydatabase;

注意:删除数据库将永久删除该数据库及其所有的表和数据,请谨慎操作。

2.3 选择数据库

使用 USE 命令可以选择要使用的数据库。语法如下:

USE database_name;

其中,database_name 是要选择的数据库的名称。下面是一个示例:

USE mydatabase;

2.4 查看数据库

使用 SHOW DATABASES 命令可以查看当前 MySQL 服务器上的所有数据库。语法如下:

SHOW DATABASES;

下面是一个示例的输出结果:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydatabase         |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

3. 表操作

3.1 创建表

使用 CREATE TABLE 命令可以创建一个新的表。语法如下:

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
    ...
);

其中,table_name 是要创建的表的名称,column1, column2, column3, … 是表的列名和数据类型。

下面是一个示例:

CREATE TABLE employees (
    id INT,
    name VARCHAR(50),
    age INT,
    salary FLOAT
);

3.2 删除表

使用 DROP TABLE 命令可以删除一个表。语法如下:

DROP TABLE table_name;

其中,table_name 是要删除的表的名称。下面是一个示例:

DROP TABLE employees;

3.3 查看表结构

使用 DESC 命令可以查看一个表的结构,即表的列名和数据类型。语法如下:

DESC table_name;

其中,table_name 是要查看结构的表的名称。下面是一个示例的输出结果:

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(50) | YES  |     | NULL    |       |
| age   | int(11)     | YES  |     | NULL    |       |
| salary| float       | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+

3.4 修改表结构

使用 ALTER TABLE 命令可以修改一个表的结构,包括添加、修改和删除列,以及修改列的数据类型等操作。语法如下:

ALTER TABLE table_name action;

其中,table_name 是要修改的表的名称,action 是要执行的操作。下面是一些常用的操作示例:

  • 添加列:
    ALTER TABLE employees ADD email VARCHAR(100);
    
  • 修改列的数据类型:
    ALTER TABLE employees MODIFY COLUMN age BIGINT;
    
  • 删除列:
    ALTER TABLE employees DROP COLUMN salary;
    

4. 数据操作

4.1 插入数据

使用 INSERT INTO 命令可以向表中插入新的一行数据。语法如下:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

其中,table_name 是要插入数据的表的名称,column1, column2, column3, ... 是要插入数据的列名,value1, value2, value3, ... 是要插入的数据值。下面是一个示例:

INSERT INTO employees (id, name, age, salary)
VALUES (1, 'John Doe', 25, 5000.00);

4.2 更新数据

使用 UPDATE 命令可以修改表中的数据。语法如下:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

其中,table_name 是要更新数据的表的名称,column1 = value1, column2 = value2, ... 是要更新的列和新的值,condition 是更新条件。下面是一个示例:

UPDATE employees
SET age = 26, salary = 5500.00
WHERE id = 1;

4.3 删除数据

使用 DELETE FROM 命令可以从表中删除一行或多行数据。语法如下:

DELETE FROM table_name
WHERE condition;

其中,table_name 是要删除数据的表的名称,condition 是删除条件。下面是一个示例:

DELETE FROM employees
WHERE id = 1;

4.4 查询数据

使用 SELECT 命令可以从一个或多个表中获取数据。语法如下:

SELECT column1, column2, ...
FROM table_name
WHERE condition;

其中,column1, column2, ... 是要查询的列名,table_name 是要查询的表的名称,condition 是查询条件。下面是一个示例:

SELECT name, age, salary
FROM employees
WHERE age > 30;

5. 索引操作

5.1 创建索引

使用 CREATE INDEX 命令可以创建一个表的索引。语法如下:

CREATE INDEX index_name
ON table_name (column1, column2, ...);

其中,index_name 是索引的名称,table_name 是要创建索引的表的名称,column1, column2, ... 是要创建索引的列名。下面是一个示例:

CREATE INDEX idx_name ON employees (name);

5.2 删除索引

使用 DROP INDEX 命令可以删除一个表的索引。语法如下:

ALTER TABLE table_name
DROP INDEX index_name;

其中,table_name 是要删除索引的表的名称,index_name 是要删除的索引的名称。

下面是一个示例:

ALTER TABLE employees
DROP INDEX idx_name;

6. 备份与恢复

6.1 备份数据库

使用 mysqldump 命令可以备份整个数据库或指定表的数据和结构。语法如下:

mysqldump -u username -p password database_name > backup_file.sql

其中,username 是数据库的用户名,password 是数据库的密码,database_name 是要备份的数据库的名称,backup_file.sql 是要保存备份数据的文件名。

下面是一个示例:

mysqldump -u root -p mydatabase > backup.sql

6.2 恢复数据库

使用 mysql 命令可以恢复数据库备份文件。语法如下:

mysql -u username -p password database_name < backup_file.sql

其中,username 是数据库的用户名,password 是数据库的密码,database_name 是要恢复的数据库的名称,backup_file.sql 是要恢复的备份文件名。

下面是一个示例:

mysql -u root -p mydatabase < backup.sql

7. 事务操作

7.1 开启事务

使用 START TRANSACTION 命令可以开启一个新的事务。语法如下:

START TRANSACTION;

7.2 提交事务

使用 COMMIT 命令可以提交当前事务的修改,使其永久生效。语法如下:

COMMIT;

7.3 回滚事务

使用 ROLLBACK 命令可以撤销当前事务的修改,回滚到事务开始前的状态。语法如下:

ROLLBACK;

7.4 设置事务隔离级别

使用 SET TRANSACTION ISOLATION LEVEL 命令可以设置事务的隔离级别。语法如下:

SET TRANSACTION ISOLATION LEVEL level;

其中,level 是事务隔离级别的名称,常用的隔离级别包括 READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE

下面是一个示例:

SET TRANSACTION ISOLATION LEVEL READ COMMITTED;

8. 用户管理

8.1 创建用户

使用 CREATE USER 命令可以创建一个新的用户。语法如下:

CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';

其中,username 是要创建的用户的名称,hostname 是要连接的主机名,password 是用户的密码。下面是一个示例:

CREATE USER 'john'@'localhost' IDENTIFIED BY 'password';

8.2 删除用户

使用 DROP USER 命令可以删除一个用户。语法如下:

DROP USER 'username'@'hostname';

其中,username 是要删除的用户的名称,hostname 是用户连接的主机名。下面是一个示例:

DROP USER 'john'@'localhost';

8.3 授权用户权限

使用 GRANT 命令可以授权用户特定的权限。语法如下:

GRANT privilege1, privilege2, ... ON database.table TO 'username'@'hostname';

其中,privilege1, privilege2, ... 是要授予的权限,database.table 是要授权的数据库和表,username 是要授权的用户的名称,hostname 是用户连接的主机名。下面是一个示例:

GRANT SELECT, INSERT, UPDATE ON mydatabase.employees TO 'john'@'localhost';

8.4 撤销用户权限

使用 REVOKE 命令可以撤销用户的特定权限。语法如下:

REVOKE privilege1, privilege2, ... ON database.table FROM 'username'@'hostname';

其中,privilege1, privilege2, ... 是要撤销的权限,database.table 是要撤销权限的数据库和表,username 是要撤销权限的用户的名称,hostname 是用户连接的主机名。下面是一个示例:

REVOKE SELECT, INSERT, UPDATE ON mydatabase.employees FROM 'john'@'localhost';

以上就是 MySQL 的常用语法表的详细说明。希望本文可以对你理解和使用 MySQL 有所帮助。如有疑问,请查阅 MySQL 官方文档或寻求专业人士的帮助。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程