SQL语法指南
MySQL数据库与表操作:从零开始掌握CURD(创建与查询篇)
一、前言
在软件开发中,绝大多数业务场景都离不开对数据的增删改查,即我们常说的 CURD (Create, Update, Read, Delete)。而这一切操作的前提,是有一个组织良好的数据库和表结构。本文将作为MySQL数据库操作的入门指南,详细讲解如何对数据库(Database) 和表(Table) 进行基本的CURD操作,本篇重点聚焦于创建(Create) 和查询(Read)。
无论你是刚刚接触数据库的初学者,还是需要一份速查笔记的开发者,相信这篇文章都能为你提供清晰的指引。文中所有代码示例均经过验证,可直接使用。
二、数据库(Database)的CURD操作
1. 创建数据库(Create)
创建数据库是我们所有操作的起点。MySQL提供了基本的和可定制化的创建语法。
基本语法:
CREATE DATABASE 数据库名称;
正规语法(推荐):
为了避免乱码等问题,建议创建时就指定字符编码和校对规则。CREATE DATABASE 数据库名称 CHARACTER SET '编码' COLLATE '校对规则';
- 字符集 (CHARACTER SET): 常用
utf8
或utf8mb4
(支持更完整的 Unicode,如表情符号)。 - 校对规则 (COLLATE): 决定了字符串比较、排序的规则,如
utf8_bin
区分大小写,utf8_general_ci
不区分大小写(默认)。
- 字符集 (CHARACTER SET): 常用
实战示例:
-- 1. 创建一个名称为 mydb1 的数据库(使用默认配置)
CREATE DATABASE mydb1;-- 2. 创建一个使用 utf8 字符集的 mydb2 数据库
CREATE DATABASE mydb2 CHARACTER SET 'utf8';-- 3. 创建一个使用 utf8 字符集,并带校对规则(区分大小写)的 mydb3 数据库
CREATE DATABASE mydb3 CHARACTER SET 'utf8' COLLATE 'utf8_bin';
2. 查看数据库(Read)
创建完成后,我们需要查看和确认数据库的信息。
查看当前MySQL服务器中的所有数据库:
SHOW DATABASES;
切换/使用某个特定的数据库: (非常重要!后续对表的操作都在当前选择的数据库中进行)
USE 数据库名称;
查看某个数据库的定义信息(创建时的SQL语句):
SHOW CREATE DATABASE 数据库名称;
查询当前正在使用的数据库:
SELECT DATABASE();
3. 修改数据库(Update)
主要用于修改数据库的字符集和校对规则。(注意:此操作需谨慎,尤其当数据库中已有数据时)
语法:
ALTER DATABASE 数据库名称 CHARACTER SET '新编码' COLLATE '新校对规则';
示例:将 mydb2 的字符集修改为 gbk
ALTER DATABASE mydb2 CHARACTER SET 'gbk';
4. 删除数据库(Delete)
删除数据库会移除该数据库和其中的所有数据,此操作不可逆,务必谨慎!
语法:
DROP DATABASE 数据库名称;
示例:删除 mydb1 数据库
DROP DATABASE mydb1;
三、表(Table)结构的CURD操作
在确定了数据库之后,我们需要在其中创建表来存储具体的数据。
1. 创建表(Create)
核心语法:
CREATE TABLE 表名称 (字段1 类型(长度) 约束,字段2 类型(长度) 约束,字段3 类型(长度) 约束,...-- 最后一个字段后面没有逗号! );
注意事项(避坑指南):
- 创建表时,表名后面必须跟一对小括号
()
,括号后才是分号;
。 - 括号内编写字段,字段与字段之间使用逗号
,
分隔。 - 最后一个字段的后面绝对不能有逗号,这是一个常见的语法错误。
- 声明字符串数据类型(如
VARCHAR
)时,必须指定长度(例如:varchar(50)
)。 - 某些数据类型有不指定长度时的默认值,例如
int
类型的默认长度是 11。
- 创建表时,表名后面必须跟一对小括号
常用数据类型:
INT
: 整型DOUBLE
: 浮点型VARCHAR(n)
: 可变长度字符串(必须指定长度n)CHAR(n)
: 定长字符串DATE
: 日期类型 (YYYY-MM-DD)TEXT
: 长文本数据DATETIME
: 日期时间类型 (YYYY-MM-DD HH:MM:SS)
实战示例:创建一张员工表(employee)
-- 首先,确保选择了正确的数据库
USE mydb2;-- 执行建表SQL语句
CREATE TABLE employee (id INT,name VARCHAR(30),gender CHAR(5),birthday DATE,entry_date DATE,job VARCHAR(50),salary DOUBLE,resume TEXT -- 最后一个字段没有逗号
);
2. 查看表(Read)
创建表后,我们可以查看其结构信息。
查看表结构(最常用、最直观):
DESC 表名称;
执行
DESC employee;
后,会返回一个清晰的表格视图:Field Type Null Key Default Extra id int(11) YES NULL name varchar(30) YES NULL gender char(5) YES NULL ... ... ... ... ... ... - Field: 字段名
- Type: 数据类型(及长度)
- Null: 是否允许为NULL值
- Key: 是否包含索引(如主键、外键)
- Default: 默认值
- Extra: 额外信息(如自增)
查看建表语句:
SHOW CREATE TABLE 表名称;
四、总结
本文系统性地讲解了MySQL中对数据库和表进行创建和查看操作的核心语法,并提供了详细的示例和注意事项。
- 数据库操作: 掌握了
CREATE DATABASE ... CHARACTER SET ...
的标准创建方式,以及SHOW DATABASES
,USE
,SHOW CREATE DATABASE
等查看和切换数据库的关键命令。 - 表操作: 理解了
CREATE TABLE
的语法规范,学会了如何设计字段、选择数据类型,并使用DESC
这一神器来查看表的结构。