MySQL 基本语法

一、数据库操作

1. 创建数据库

语法格式:

CREATE DATABASE [IF NOT EXISTS] database_name;

创建一个名为 test_db 的数据库:

CREATE DATABASE IF NOT EXISTS test_db;

IF NOT EXISTS 是可选的,用于避免数据库已存在时出现错误。

2. 查看数据库列表

语法格式:

SHOW DATABASES;

执行后会列出当前 MySQL 服务器中所有的数据库名称。

3. 选择要使用的数据库

语法格式:

USE database_name;

使用 test_db 数据库:

USE test_db;

4. 删除数据库

语法格式:

DROP DATABASE [IF EXISTS] database_name;

删除 test_db 数据库(谨慎操作):

DROP DATABASE IF EXISTS test_db;

二、数据表操作

1. 创建数据表

语法格式:

CREATE TABLE table_name (

column1_name data_type constraints,

column2_name data_type constraints,

...

PRIMARY KEY (column_name)

);

创建 students 表:

CREATE TABLE students (

id INT AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(50) NOT NULL,

age INT,

gender ENUM('男', '女')

);

2. 查看数据表结构

语法格式:

DESCRIBE table_name;

或缩写形式:

DESC table_name;

查看 students 表结构:

DESC students;

3. 修改数据表

添加列:

ALTER TABLE table_name

ADD COLUMN new_column_name data_type constraints;

给 students 表添加 address 字段:

ALTER TABLE students

ADD COLUMN address VARCHAR(100);

修改列:

ALTER TABLE table_name

MODIFY COLUMN column_name new_data_type new_constraints;

修改 students 表的 age 字段类型:

ALTER TABLE students

MODIFY COLUMN age SMALLINT;

删除列:

ALTER TABLE table_name

DROP COLUMN column_name;

删除 students 表的 address 字段:

ALTER TABLE students

DROP COLUMN address;

4. 删除数据表

语法格式:

DROP TABLE [IF EXISTS] table_name;

删除 students 表:

DROP TABLE IF EXISTS students;

三、数据操作(增删改查)

1. 插入数据(INSERT)

语法格式:

INSERT INTO table_name (column1, column2, ...)

VALUES (value1, value2, ...);

向 students 表插入一条记录:

INSERT INTO students (name, age, gender)

VALUES ('张三', 20, '男');

插入多条记录:

INSERT INTO table_name (column1, column2, ...)

VALUES

(value1_1, value1_2, ...),

(value2_1, value2_2, ...),

...;

2. 查询数据(SELECT)

基本语法格式:

SELECT column1, column2, ...

FROM table_name

WHERE condition

GROUP BY column_name

HAVING condition

ORDER BY column_name \[ASC\|DESC\]

LIMIT offset, count\]; 示例: 查询所有学生信息 SELECT \* FROM students; 查询年龄大于 18 岁的学生姓名和年龄 SELECT name, age FROM students WHERE age \> 18; 按年龄分组并统计人数 SELECT age, COUNT(\*) AS num_students FROM students GROUP BY age; 筛选人数大于 2 的年龄组 SELECT age, COUNT(\*) AS num_students FROM students GROUP BY age HAVING num_students \> 2; 按年龄升序排列 SELECT \* FROM students ORDER BY age ASC; 查询前 5 条记录 SELECT \* FROM students LIMIT 5; #### ******3. 更新数据(UPDATE)****** 语法格式: UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; 更新张三的年龄为 21 岁: UPDATE students SET age = 21 WHERE name = '张三'; #### ******4. 删除数据(DELETE)****** 语法格式: DELETE FROM table_name WHERE condition; 删除年龄小于 18 岁的学生记录: DELETE FROM students WHERE age \< 18;