SQL学习笔记1:SQL语法结构及DDL CREATE指令

本文最后更新于:2023年11月17日 凌晨

1、SQL基本语法结构

SQL分为三类:

1、数据定义语言DDL

用于创建定义数据库对象,并且将对这些对象的定义保存到数据字典中。通过DDL语句可以创建数据库对象,修改数据库对象和删除数据库对象等。

常用的DDL语句及其功能:

DDL语句 功能说明
CREATE 创建数据库
ALTER 修改数据库
DROP 删除数据库
RENAME 更改数据库对象的名称
TRUNCATE 删除表的全部内容

注:每一条DDL语句执行后,Oracle都将提交当前事务。

2、数据操纵语言DML

主要用来处理数据库中的数据内容。允许用户对数据库中的数据进行查询、插入、更新、删除等操作。

常用的DML语句及其功能:

DML语句 功能说明
SELECT 从表或视图中检索数据行
INSERT 插入数据到表或视图
UPDATE 更新数据
DELETE 删除数据
CALL 调用过程
MERGE 合并(插入或修改)
COMMIT 将当前事务所做的更改永久化(写入数据库)
ROLLBACK 取消上次提交以来的所有操作

3、数据控制语言DCL

数据控制语言用于修改数据库结构的操作权限。

DCL语句主要有2种:

DCL语句 功能说明
GRANT 授予其他用户对数据库结构的访问权限
REVOKE 收回用户访问数据库结构的权限

CRUD释义:

增加、读取、更新、删除/销毁

image-20230617154817200

2、SQL之DDL - CREATE

2.1、创建数据库(DATABASE)

1
2
3
CREATE DATABASE database_name
-- 示例:创建名为test_db1的数据库
create database test_db1

2.2、创建表(TABLE)

语法结构:

1
2
3
4
5
6
7
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)

示例:

1
2
3
4
5
6
7
8
9
-- 创建Persons表,含5列:"Id_P"、"LastName"、"FirstName"、"Address" 以及 "City"
CREATE TABLE Persons
(
Id_P int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

基础数据类型:

数据类型 描述
integer(size)
int(size)
smallint(size)
tinyint(size)
仅容纳整数。在括号内规定数字的最大位数。
decimal(size,d)
numeric(size,d)
容纳带有小数的数字。”size” 规定数字的最大位数。”d” 规定小数点右侧的最大位数。
char(size) 容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。在括号中规定字符串的长度。
varchar(size) 容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。在括号中规定字符串的最大长度。
date(yyyymmdd) 容纳日期。

创建完成之后使用insert into插入数据。

image-20230617163358411

2.3、创建索引(INDEX)

索引:在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据

  • 创建简单索引:允许使用重复的值
1
2
3
-- "column_name" 规定需要索引的列
CREATE INDEX index_name
ON table_name (column_name)
  • 创建一个唯一索引:两个行不能拥有相同的索引值
1
2
CREATE UNIQUE INDEX index_name
ON table_name (column_name)

示例:

1
2
3
4
5
6
7
8
9
-- Person表上创建Index_pers索引LastName列
CREATE INDEX Index_Pers
ON Person (LastName)
-- 降序排列
CREATE INDEX Index_Pers
ON Person (LastName DESC)
-- 索引多个列:逗号隔开多列
CREATE INDEX Index_Pers
ON Person (LastName, FirstName)

2.4、创建视图(VIEW)

视图是基于 SQL 语句的结果集的可视化的表。视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。

1
2
3
4
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

示例:

1
2
3
4
-- 建立一个包括 First_Name, Last_Name,和 Country 这三个栏位的视图
CREATE VIEW V_Customer
AS SELECT First_Name, Last_Name, Country
FROM Customer;

注:

  • 数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响。

  • 视图总是显示最近的数据。每当用户查询视图时,数据库引擎通过使用 SQL 语句来重建数据


SQL学习笔记1:SQL语法结构及DDL CREATE指令
http://www.codestar.top/2023/11/17/SQL/SQL学习笔记1:SQL语法结构及DDL-CREATE指令/
作者
mini小新
发布于
2023年11月17日
更新于
2023年11月17日
许可协议