MySQL创建数据库和数据表完整指南
本文介绍如何使用 SQL 结构化查询语言进行 MySQL 的基础操作。涵盖从连接登录、创建带字符集的数据库,到在指定库中建立数据表、增删改查字段,并列举了常用的字段类型标准,帮助快速完成数据库初始化与环境设置。
理解 SQL 语言的作用
在使用 MySQL 数据库时,必须遵循一套标准的语法规则,即 SQL (Structured Query Language),它是关系型数据库管理系统的通用语言。其主要功能是与数据库建立连接并执行数据操作。根据用途不同,SQL 可细分为以下四类:
- DML (Data Manipulation Language):数据操作语言,用于对数据进行插入、修改和删除。
- DQL (Data Query Language):数据查询语言,用于从表中检索数据。
- DDL (Data Definition Language):数据定义语言,用于创建或修改数据库对象,如新建数据库和数据表。
- DCL (Data Control Language):数据控制语言,主要用于权限管理与角色分配。
在书写 SQL 语句时,通常以分号 ; 结束(部分切换指令除外)。此外,SQL 语法本身不区分大小写,但在编写时可适当使用大写以提升可读性。
第一步:连接数据库并进行环境准备
操作前需确保已安装好 MySQL 服务。
进入 MySQL 命令行:
mysql -u root -p
按回车后输入密码即可连接。出于安全考虑,不建议长期直接使用 root 用户(权限过大),建议在创建专用业务账户后停止使用 root 登录。
第二步:了解当前库状态并建立新的数据库
查看已有的数据库:
show databases;

新安装的 MySQL 默认包含四个系统库:information_schema、mysql、perfomance_schema、sys。它们负责底层元数据与监控,**严禁直接删除**,否则会导致系统异常。若误删,需备份数据重装恢复。
创建一个新的数据库:
create database MyDB_one;

设置 UTF-8 字符编码:**
由于默认编码通常为 latin1(单字节),存放中文可能产生乱码。建议在创建时显式指定编码格式,或使用缩写 charset:
create database MyDB_two character set utf8;
-- 等效写法:
create database MyDB_three charset utf8;

验证与切换数据库:
可通过以下命令查看某一特定库的属性及其实际编码:
show create database MyDB_one;
show create database MyDB_two;

如果发现已有库的编码不符需求,可使用 alter 语句修正:alter database MyDB_one character set utf8; 
激活目标库:
后续所有操作(如建表)均在选定的环境中进行。使用 use 进入某个数据库(此命令后的分号可省略):
use MyDB_one;
操作中途若要确认当前所在的库位,防止错操作其他库,可查看状态:
select database();
第三步:创建数据表并管理表结构
检查当前的空表列表:
show tables;

建立第一个表:
创建一个名为 Phone_table 的新表,包含主键 ID、产品名称(定长字符)、价格整数三个列:
create table Phone_table(pid INT, name CHAR(20), price INT);

获取表的详细构造信息:**
show create table 可以显示该表的结构定义、底层存储引擎及字符集配置:
show create table Phone_table;

灵活调整字段设置:
在实际开发中,表结构可能需要迭代变更。以下是三种核心修改逻辑:
- 新增一列:在末尾追加字段(例如补充颜色选项):
alter table Phone_table add color CHAR(20); - 移除某列:彻底删除某行定义:
alter table Phone_table drop price; - 修改列类型:**
alter table Phone_table modify name VARCHAR(12); - 重命名列并升级类型:**
alter table Phone_table change name pname CHAR(18);
扩展阅读:MySQL 中的常用字段分类标准
在设计表结构时,准确为每个字段指派合适的类型能极大优化存储空间与运算效率。各类数据类型的核心特性如下:
1. 数值类
整型 (Integer Types)
涵盖不同位宽的存储空间,可根据预估的最大数据存储范围选择,以避免空间浪费:TINYINT、SMALLINT、MEDIUMINT、INT 以及支持超大数字的 BIGINT。
2. 文本类 (String/Blob Types)
字符系列:对于已知长度的固定内容(如省区代码、性别),推荐使用定长的 CHAR(n);而对于长度不一的描述文字(如商品名),推荐变长的 VARCHAR(n)。需要存取极长文档或文件数据时,可选用 TEXT / BLOB 乃至其超长版(LONGTEXT/LONGBLOB)。
3. 浮点与精度类
在处理金融账单或对精度极度敏感的数字时,普通浮点数可能存在误差。此时应优先选用 Decimal 类型(最多保留 28 位有效数),其次再考虑 Double 和 Float。
4. 时间日期类
分别包含只存日期的 DATE,仅记录时刻的 TIME,两者兼具的 DATETIME 格式,以及基于秒级记录的历史跨度时间戳 TIMESTAMP。
5. 枚举类 (Enum)
当字段的可能取值有限且固定(比如“高/中/低”、“男/女”)时,声明一个包含限定值的枚举类型是最安全的方式。
以上就是 MySQL 创建数据库和数据表的详细内容,更多关于 MySQL 数据库初始化及设计规范的资料请关注本站其它相关文章!本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













