SQL世界之命令语句Ⅳ

目录

一、SQL CREATE DATABASE 语句

1.CREATE DATABASE 语句

2.SQL CREATE DATABASE 语法

3.SQL CREATE DATABASE 实例

二、SQL CREATE TABLE 语句

1.CREATE TABLE 语句

2.SQL CREATE TABLE 语法

3.SQL中最常用的数据类型

4.SQL CREATE TABLE 实例

三、SQL 约束 (Constraints)

四、SQL NOT NULL 约束

五、SQL UNIQUE 约束

 1.在 "Persons" 表创建时,在 "Id_P" 列创建 UNIQUE 约束

2.命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束

3.当表已被创建时,在 "Id_P" 列创建 UNIQUE 约束

4.命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束

5.撤销 UNIQUE 约束

六、SQL PRIMARY KEY 约束

1.SQL PRIMARY KEY 约束

2.在 "Persons" 表创建时,在 "Id_P" 列创建 PRIMARY KEY 约束

3.命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束

4.在表已存在的情况下为 "Id_P" 列创建 PRIMARY KEY 约束

5.命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束

6.撤销 PRIMARY KEY 约束

七、SQL FOREIGN KEY 约束

1.SQL FOREIGN KEY 约束

 2.在 "Orders" 表创建时为 "Id_P" 列创建 FOREIGN KEY

3.命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束

4.在 "Orders" 表已存在的情况下为 "Id_P" 列创建 FOREIGN KEY 约束

5.命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束

6.撤销 FOREIGN KEY 约束

八、SQL CHECK 约束

1.SQL CHECK 约束

2.在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束

3.命名 CHECK 约束,以及为多个列定义 CHECK 约束

4.在表已存在的情况下为 "Id_P" 列创建 CHECK 约束

5.命名 CHECK 约束,以及为多个列定义 CHECK 约束

6.撤销 CHECK 约束

九、SQL DEFAULT 约束

1.SQL DEFAULT 约束

2.在 "Persons" 表创建时为 "City" 列创建 DEFAULT 约束

3.通过使用类似 GETDATE() 这样的函数,DEFAULT 约束也可以用于插入系统值

4.在表已存在的情况下为 "City" 列创建 DEFAULT 约束

5.撤销 DEFAULT 约束


一、SQL CREATE DATABASE 语句

1.CREATE DATABASE 语句

CREATE DATABASE 用于创建数据库。

2.SQL CREATE DATABASE 语法

CREATE DATABASE database_name

3.SQL CREATE DATABASE 实例

创建一个名为 "my_db" 的数据库,使用的 CREATE DATABASE 语句:

CREATE DATABASE my_db

二、SQL CREATE TABLE 语句

1.CREATE TABLE 语句

CREATE TABLE 语句用于创建数据库中的表。

2.SQL CREATE TABLE 语法

CREATE TABLE 表名称

(

列名称1 数据类型,

列名称2 数据类型,

列名称3 数据类型,

....

)

3.SQL中最常用的数据类型

数据类型

描述

integer(size)

int(size)

smallint(size)

tinyint(size)

仅容纳整数。在括号内规定数字的最大位数。

decimal(size,d)

numeric(size,d)

容纳带有小数的数字。"size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。

char(size)

容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。在括号中规定字符串的长度。

varchar(size)

容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。在括号中规定字符串的最大长度。

date(yyyymmdd)

容纳日期。

4.SQL CREATE TABLE 实例

创建名为 "Person" 的表,该表包含 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)

)

解析:Id_P 列的数据类型是 int,包含整数。其余 4 列的数据类型是 varchar,最大长度为 255 个字符。

空的 "Persons" 表类似这样:

Id_P

LastName

FirstName

Address

City

可使用 INSERT INTO 语句向空表写入数据。

三、SQL 约束 (Constraints)

约束用于限制加入表的数据的类型。可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句)。

四、SQL NOT NULL 约束

NOT NULL 约束强制列不接受 NULL 值、强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。

强制 "Id_P" 列和 "LastName" 列不接受 NULL 值:

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

五、SQL UNIQUE 约束

UNIQUE 约束唯一标识数据库表中的每条记录。

UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。

PRIMARY KEY 拥有自动定义的 UNIQUE 约束。

每个表可以有多个 UNIQUE 约束,但是只能有一个 PRIMARY KEY 约束。

 1.在 "Persons" 表创建时,在 "Id_P" 列创建 UNIQUE 约束

①MySQL:

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

UNIQUE (Id_P)

)

②SQL Server / Oracle / MS Access:

CREATE TABLE Persons

(

Id_P int NOT NULL UNIQUE,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

2.命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)

)

3.当表已被创建时,在 "Id_P" 列创建 UNIQUE 约束

ALTER TABLE Persons

ADD UNIQUE (Id_P)

4.命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束

ALTER TABLE Persons

ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)

5.撤销 UNIQUE 约束

①MySQL:

ALTER TABLE Persons

DROP INDEX uc_PersonID

②SQL Server / Oracle / MS Access:

ALTER TABLE Persons

DROP CONSTRAINT uc_PersonID

六、SQL PRIMARY KEY 约束

1.SQL PRIMARY KEY 约束

PRIMARY KEY 约束唯一标识数据库表中的每条记录。

主键必须包含唯一的值。

主键列不能包含 NULL 值。

每个表都应该有一个主键,并且每个表只能有一个主键。

2.在 "Persons" 表创建时,在 "Id_P" 列创建 PRIMARY KEY 约束

①MySQL:

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

PRIMARY KEY (Id_P)

)

②SQL Server / Oracle / MS Access:

CREATE TABLE Persons

(

Id_P int NOT NULL PRIMARY KEY,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

3.命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)

)

4.在表已存在的情况下为 "Id_P" 列创建 PRIMARY KEY 约束

ALTER TABLE Persons

ADD PRIMARY KEY (Id_P)

5.命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束

ALTER TABLE Persons

ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)

注:在表首次创建时使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值。

6.撤销 PRIMARY KEY 约束

①MySQL:

ALTER TABLE Persons

DROP PRIMARY KEY

②SQL Server / Oracle / MS Access:

ALTER TABLE Persons

DROP CONSTRAINT pk_PersonID

七、SQL FOREIGN KEY 约束

1.SQL FOREIGN KEY 约束

一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。

"Persons" 表:

Id_P

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

002

Buh

Grge

Fifth Aue

New York

003

Car

Tmas

Can Street

Beijing

"Orders" 表:

Id_O

OrderNo

Id_P

1

77895

003

2

44678

003

3

22456

001

4

24562

001

"Orders" 中的 "Id_P" 列指向 "Persons" 表中的 "Id_P" 列。

"Persons" 表中的 "Id_P" 列是 "Persons" 表中的 PRIMARY KEY。

"Orders" 表中的 "Id_P" 列是 "Orders" 表中的 FOREIGN KEY。

FOREIGN KEY 约束用于预防破坏表之间连接的动作,也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。

 2.在 "Orders" 表创建时为 "Id_P" 列创建 FOREIGN KEY

①MySQL:

CREATE TABLE Orders

(

Id_O int NOT NULL,

OrderNo int NOT NULL,

Id_P int,

PRIMARY KEY (Id_O),

FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)

)

②SQL Server / Oracle / MS Access:

CREATE TABLE Orders

(

Id_O int NOT NULL PRIMARY KEY,

OrderNo int NOT NULL,

Id_P int FOREIGN KEY REFERENCES Persons(Id_P)

)

3.命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束

CREATE TABLE Orders

(

Id_O int NOT NULL,

OrderNo int NOT NULL,

Id_P int,

PRIMARY KEY (Id_O),

CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P)

REFERENCES Persons(Id_P)

)

4.在 "Orders" 表已存在的情况下为 "Id_P" 列创建 FOREIGN KEY 约束

ALTER TABLE Orders

ADD FOREIGN KEY (Id_P)

REFERENCES Persons(Id_P)

5.命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束

ALTER TABLE Orders

ADD CONSTRAINT fk_PerOrders

FOREIGN KEY (Id_P)

REFERENCES Persons(Id_P)

6.撤销 FOREIGN KEY 约束

①MySQL:

ALTER TABLE Orders

DROP FOREIGN KEY fk_PerOrders

②SQL Server / Oracle / MS Access:

ALTER TABLE Orders

DROP CONSTRAINT fk_PerOrders

八、SQL CHECK 约束

1.SQL CHECK 约束

CHECK 约束用于限制列中的值的范围。

如果对单个列定义 CHECK 约束,那么该列只允许特定的值。

如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。

2.在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束

CHECK 约束规定 "Id_P" 列必须只包含大于 0 的整数。

①My SQL:

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CHECK (Id_P>0)

)

②SQL Server / Oracle / MS Access:

CREATE TABLE Persons

(

Id_P int NOT NULL CHECK (Id_P>0),

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

3.命名 CHECK 约束,以及为多个列定义 CHECK 约束

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')

)

4.在表已存在的情况下为 "Id_P" 列创建 CHECK 约束

ALTER TABLE Persons

ADD CHECK (Id_P>0)

5.命名 CHECK 约束,以及为多个列定义 CHECK 约束

ALTER TABLE Persons

ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')

6.撤销 CHECK 约束

①MySQL:

ALTER TABLE Persons

DROP CHECK chk_Person

②SQL Server / Oracle / MS Access:

ALTER TABLE Persons

DROP CONSTRAINT chk_Person

九、SQL DEFAULT 约束

1.SQL DEFAULT 约束

DEFAULT 约束用于向列中插入默认值。

如果没有规定其他的值,那么会将默认值添加到所有的新记录。

2.在 "Persons" 表创建时为 "City" 列创建 DEFAULT 约束

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255) DEFAULT 'Sandnes'

)

3.通过使用类似 GETDATE() 这样的函数,DEFAULT 约束也可以用于插入系统值

CREATE TABLE Orders

(

Id_O int NOT NULL,

OrderNo int NOT NULL,

Id_P int,

OrderDate date DEFAULT GETDATE()

)

4.在表已存在的情况下为 "City" 列创建 DEFAULT 约束

①MySQL:

ALTER TABLE Persons

ALTER City SET DEFAULT 'SANDNES'

②SQL Server / Oracle / MS Access:

ALTER TABLE Persons

ALTER COLUMN City SET DEFAULT 'SANDNES'

5.撤销 DEFAULT 约束

①MySQL:

ALTER TABLE Persons

ALTER City DROP DEFAULT

②SQL Server / Oracle / MS Access:

ALTER TABLE Persons

ALTER COLUMN City DROP DEFAULT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/680267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Days 29 ElfBoard LCD屏双电荷泵电路原理

7寸LCD屏幕的屏幕排线中采用的供电电压是5V供电,但是在屏幕工作时需要VCOM-5.3V、AVDD-12.5V、VGL--7V、VGH-17V几组电压,所以要对初始的5V电源进行DC-DC电压变换,在这里我们用到了双电荷泵电路。 再此电路中VCC_5V为电源输入,E…

设计模式-适配器模式 Adapter

适配器模式 (Adapter) (重点) 适配器设计模式(Adapter Design Pattern)是一种结构型设计模式,用于解决两个不兼容接口之间的问题。适配器允许将一个类的接口转换为客户端期望的另一个接口,使得原本由于接口不兼容而不能一起工作的…

CentOS 7.9安装Tesla M4驱动、CUDA和cuDNN

正文共:1333 字 21 图,预估阅读时间:2 分钟 上次我们在Windows上尝试用Tesla M4配置深度学习环境(TensorFlow识别GPU难道就这么难吗?还是我的GPU有问题?),但是失败了。考虑到Windows…

LeetCode662:二叉树最大宽度(二叉树非典型最大宽度,BFS层序遍历重编号)

题目 给你一棵二叉树的根节点 root ,返回树的 最大宽度 。 树的 最大宽度 是所有层中最大的 宽度 。 每一层的 宽度 被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同,…

金明的预算方案 ——分组背包

金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。 更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”…

复习2:带头双向链表

1.双向链表 typedef struct shuangxiang { int data; struct shuangxiang *next; struct shuangxiang *prev; }biao; 2.哨兵位创建 void setshaobing(biao**point) { *point(biao*)malloc(sizeof(biao)); *point->data-1; *point->next*point->prevNULL; } 3.尾插 …

服务器操作系统windows和linux区别对比

阿里云服务器镜像Windows和Linux操作系统有什么区别?性能有差异吗?有,同配置下Linux性能要优于Windows,但这与阿里云无关,仅仅是linux和windows之间的区别。另外,阿里云提供的windows和linux操作系统均为正…

JAVA设计模式之备忘录模式详解

备忘录模式 1 备忘录模式介绍 备忘录模式提供了一种对象状态的撤销实现机制,当系统中某一个对象需要恢复到某一历史状态时可以使用备忘录模式进行设计. 很多软件都提供了撤销(Undo)操作,如 Word、记事本、Photoshop、IDEA等软件在编辑时按…

【深度学习】S1 预备知识 P1 张量

目录 张量创建第一个张量张量的下载与引入创建第一个张量 张量的大小和形状张量的形状张量的大小 改变张量的形状创建特殊张量张量的基本运算按元素运算张量连结逻辑运算张量求和 张量的广播机制张量的索引与切片索引、切片访问张量通过切片方式节省内存占用 张量转换为其他对象…

Stable Diffusion 模型下载:majicMIX fantasy 麦橘幻想

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十

STM32自学☞PWM驱动舵机(按键控制)

PWM.c文件 #include "stm32f10x.h" /*初始化函数*/ void PWM_Init(void){ /*开启时钟*/ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //开启TIM2的时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //开启GPIOA的时钟 /*GPIO初始化*/ G…

洛谷:P1331 海战

题目描述 在一个方形的盘上,放置了固定数量和形状的船只,每只船却不能碰到其它的船。在本题中,我们认为船是方形的,所有的船只都是由图形组成的方形。 求出该棋盘上放置的船只的总数。 输入格式 第一行为两个整数 R 和 C&…

LeetCode1143. Longest Common Subsequence——动态规划

文章目录 一、题目二、题解 一、题目 Given two strings text1 and text2, return the length of their longest common subsequence. If there is no common subsequence, return 0. A subsequence of a string is a new string generated from the original string with so…

【Web】Redis未授权访问漏洞学习笔记

目录 简介 靶机配置 Redis持久化 Redis动态修改配置 webshell 反弹shell Redis写入反弹shell任务 加固方案 简介 Redis(Remote Dictionary Server 远程字典服务器)是一个开源的内存数据库,也被称为数据结构服务器,它支持…

Ubuntu Desktop 打开和关闭 Terminal

Ubuntu Desktop 打开和关闭 Terminal 1. 打开 Terminal 快捷键2. Search your computer -> Terminal -> Lock to Launcher3. 关闭 Terminal 快捷键References 1. 打开 Terminal 快捷键 Ctrl Alt T 2. Search your computer -> Terminal -> Lock to Launcher 3…

SCI论文作图规范

SCI论文作图规范包括以下几个方面: 一、图片格式 SCI论文通常接受的图片格式包括TIFF、EPS和PDF等。其中,TIFF格式是一种高质量的图像格式,适用于需要高分辨率和颜色准确性的图片;EPS格式是一种矢量图形格式,适用于需…

【深度学习】S1 预备知识 P2 数据预处理

目录 准备工作创建数据集读取数据集处理缺失值处理连续数据缺失值处理离散数据缺失值 转换为张量格式 在应用深度学习技术解决实际问题时,数据的预处理步骤至关重要。在 Python 的各种数据分析工具中,我们选择了 pandas 库来进行这一工作,因为…

力扣:376. 摆动序列

解题思路&#xff1a; 1.先规定好左坡值和右坡值&#xff0c;在计算当前节点比上一节点 的差值。如果左坡值>0且右坡值<0或者 左坡值<0且右坡值>0,符合摆动序列的条件sum加一&#xff0c;同时把右坡值的差值赋值个左坡值&#xff0c;这样就不断在更新左坡值的差值…

位运算+leetcode ( 2 )

题一&#xff1a;只出现一次的数字&#xff08;1&#xff09; 1.链接 136. 只出现一次的数字 - 力扣&#xff08;LeetCode&#xff09; 2.思想 借用位运算中异或操作符的特点&#xff0c;a^a0&#xff0c;0^aa先定义一个sum0就用一个循环来遍历这个数组&#xff0c;每次都进行…

Google Cloud 2024 年报告重点介绍了关键的网络威胁和防御

Google Cloud 的 2024 年威胁范围报告预测了云安全的主要风险&#xff0c;并提出了加强防御的策略。 该报告由 Google 安全专家撰写&#xff0c;为寻求预测和应对不断变化的网络安全威胁的云客户提供了宝贵的资源。 该报告强调&#xff0c;凭证滥用、加密货币挖矿、勒索软件和…