日新计划6月更文 Day 14
上一篇我们讨论了关系型数据库枯燥的的理论知识,接下来我们就要进行简单的实践了。
我们不使用抽象的关系运算来操作数据库,而是使用一门非常亲民的语言—— SQL 进行。
结构化查询语言(Structed Query Language,SQL)是关系数据库的标准语言,用于进行数据库模式创建、数据库中数据段增删改查、数据库安全性等的定义与操作等。
SQL具有综合统一、高度非过程化、面向集合操作、同一语法结构多重使用方式、简单易学等优点。SQL规范是一套较理想的规范,现在没有任何一个数据库系统实现了SQL规范的全部内容。
根据功能的不同,SQL又分为DDL、DML、DQL、DCL等:
- DDL:Data Definition Language,数据定义语言,用于定义、修改、删除数据库中的模式,创建、修改、删除数据表、索引、函数、存储过程、触发器等。
- DML:Data Manipulation Language,数据操纵语言,用于对数据库中的数据进行增、删、改,受事务作用。
- DQL:Data Query Language,数据查询语言,用于查询数据库中的数据
- DCL:Data Control Language,数据控制语言,用于控制数据的访问权限、事务的开启、提交与回滚等。
- SQL 是大小写不敏感的
- DDL不能用于创建下一个DDL
创建一个模式使用CREATE SCHEMA,如:
Create Schema "CatParadise";
# 或者 Create Database "CatParadise";
删除模式使用DROP SCHEMA,如:
Drop Schema "CatParadise";
创建一张表使用CREATE TABLE,如:
Create Table `Admin`(
`id` int Not Null,
`name` varchar(32),
`birthday` date,
# 设置主键
Primary Key(`id`)
);
Create Table `Cat`(
`id` int Not Null,
`name` varchar(32),
`birthday` date,
`admin` int,
Primary Key(`id`),
# 设置外键约束
Foreign Key(`admin`) References `Admin`(`id`)
);
可以使用ALTER TABLE编辑表的结构:
Alter Table $table
Add $column [First/After $columnName]; # 添加字段
Modify $column $type; # 修改字段数据类型
Change $column $columnName $type; # 修改字段属性
Drop Column $column; # 删除字段
Drop Primary Key; # 删除主键
Rename To $tablename; # 重命名表
删除数据表使用DROP TABLE,如:
Drop Table `Cat`;
本文讲述了基础的 DDL 的使用,后续将会讲述DML、DQL等的使用。