SQL语句是用于管理和操作关系型数据库的标准语言,在MySQL数据库的使用中,所有数据的增删改查、表结构的管理都需要通过SQL语句来完成。掌握SQL语句的基础知识,是每一个想要学习MySQL开发的人员必须具备的能力。

SQL语句的分类
根据功能的不同,SQL语句可以分为以下几类:
- DDL(数据定义语言):用于定义和管理数据库、表的结构,比如创建、修改、删除数据库和表。
- DML(数据操作语言):用于对表中的数据进行增、删、改操作。
- DQL(数据查询语言):用于从表中查询数据,是最常用的SQL语句类型。
- DCL(数据控制语言):用于定义数据库的访问权限和安全级别,比如授权、回收权限。
基础语法规则
编写SQL语句时需要遵循以下基础规则:
- SQL语句不区分大小写,但是为了可读性,通常关键字使用大写,表名、字段名使用小写。
- 每条SQL语句以分号
;结尾,用于标识语句的结束。 - SQL语句中可以使用空格和换行来提升可读性,数据库执行时会忽略这些空白字符。
- 字符串类型的值需要用单引号包裹,数值类型不需要。
常用DDL语句示例
以下是创建数据库和创建表的基础DDL语句示例:
-- 创建数据库
CREATE DATABASE IF NOT EXISTS test_db;
-- 使用指定数据库
USE test_db;
-- 创建用户表
CREATE TABLE IF NOT EXISTS user (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
username VARCHAR(50) NOT NULL COMMENT '用户名',
age INT COMMENT '年龄',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表';
常用DML语句示例
DML语句用于操作表中的数据,常用的操作包括插入、更新、删除数据:
-- 插入单条数据
INSERT INTO user (username, age) VALUES ('张三', 25);
-- 插入多条数据
INSERT INTO user (username, age) VALUES ('李四', 22), ('王五', 28);
-- 更新数据,将用户名为张三的年龄改为26
UPDATE user SET age = 26 WHERE username = '张三';
-- 删除数据,删除年龄为22的用户
DELETE FROM user WHERE age = 22;
常用DQL语句示例
DQL是最常用的SQL语句类型,用于从表中查询需要的数据:
-- 查询user表所有数据 SELECT * FROM user; -- 查询指定字段 SELECT id, username, age FROM user; -- 带条件查询,查询年龄大于25的用户 SELECT * FROM user WHERE age > 25; -- 排序查询,按年龄升序排序 SELECT * FROM user ORDER BY age ASC; -- 分页查询,每页显示2条,查询第1页数据 SELECT * FROM user LIMIT 0, 2;
注意事项
在使用SQL语句时需要注意以下几点:
- 执行
DELETE和UPDATE语句时,如果没有加WHERE条件,会对表中所有数据生效,操作前务必确认条件是否正确。 - 表名和字段名如果和MySQL关键字冲突,需要使用反引号`包裹,比如表名是
order时,需要写成`order`。 - 查询时尽量避免使用
SELECT *,明确指定需要的字段可以提升查询效率,也便于后续维护。