MySQL DDL操作:库与表的创建、删除
143 浏览量
更新于2024-08-31
收藏 75KB PDF 举报
本文主要介绍了MySQL数据库中的DDL(Data Definition Language)操作,包括库的管理和表的管理。在库的管理部分,详细讲解了如何创建和删除数据库,并提供了相应的SQL语句示例。在表的管理部分,阐述了创建表的语法,强调了字段名、类型、宽度、约束条件等要素,并举例说明了不同类型的约束,如非空约束。
在MySQL中,DDL用于定义数据库结构,主要包括创建、修改和删除数据库对象。下面是对这些知识点的详细解释:
1. 创建数据库:
使用`CREATE DATABASE`语句创建新的数据库,如果存在相同名称的数据库,可以加上`IF NOT EXISTS`来避免错误。例如:
```sql
CREATE DATABASE IF NOT EXISTS 库名;
```
2. 删除数据库:
`DROP DATABASE`语句用于删除数据库,同样可以加上`IF EXISTS`以确保只有在数据库存在时才执行删除操作。例如:
```sql
DROP DATABASE IF EXISTS 库名;
```
3. 建库通用写法:
这里提供了一种常见的建库操作,先删除旧的数据库,再创建新的数据库:
```sql
DROP DATABASE IF EXISTS 旧库名;
CREATE DATABASE 新库名;
```
4. 显示数据库列表:
使用`SHOW DATABASES`可以列出所有数据库,配合`LIKE`关键字可以筛选出特定名称的数据库:
```sql
SHOW DATABASES LIKE 'javacode2018';
```
5. 创建表:
创建表的语法比较复杂,涉及字段名、类型、宽度、约束条件等:
```sql
CREATE TABLE 表名 (
字段名1 类型[(宽度)][约束条件][COMMENT '字段说明'],
字段名2 类型[(宽度)][约束条件][COMMENT '字段说明'],
...
) [表的设置];
```
- 字段名:每个字段都有一个唯一的名称。
- 类型:定义字段的数据类型,如INT、VARCHAR、DATE等,用于确定能存储的数据范围。
- 宽度:某些类型如VARCHAR需要指定最大长度。
- 约束条件:如NOT NULL表示字段不能为空,也可以有唯一性约束UNIQUE,主键约束PRIMARY KEY等。
- COMMENT:用于添加字段的描述信息。
6. 字段约束:
- NOT NULL:字段值不允许为空,是数据完整性的一种体现。
- 其他约束:除了非空约束,还有唯一性约束(UNIQUE)、主键约束(PRIMARY KEY,自动加上NOT NULL)、外键约束(FOREIGN KEY)等,用于保证数据的一致性和参照完整性。
7. 插入数据:
使用`INSERT INTO`语句向表中插入数据,如果不满足约束条件(如NULL违反NOT NULL约束),则会返回错误。例如:
```sql
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);
```
8. 修改表结构:
可以使用`ALTER TABLE`语句来修改表的结构,如添加、删除或修改字段。
9. 删除表:
`DROP TABLE`语句用于删除表,同样可以使用`IF EXISTS`防止误删。
10. 表的设置:
在创建表时,还可以指定一些附加设置,如字符集、排序规则等,如:
```sql
CREATE TABLE 表名 (...) CHARACTER SET 字符集 COLLATE 排序规则;
```
以上就是MySQL DDL操作的基本知识点,涵盖了数据库和表的生命周期管理,以及字段约束和数据完整性。掌握这些操作对于日常的数据库管理工作至关重要。
2023-10-20 上传
2024-06-13 上传
2020-09-08 上传
点击了解资源详情
2023-05-02 上传
2023-09-08 上传
2023-02-27 上传
2024-05-17 上传
2013-10-30 上传
weixin_38600253
- 粉丝: 6
- 资源: 904
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库