SQL世界之命令语句Ⅴ

这篇具有很好参考价值的文章主要介绍了SQL世界之命令语句Ⅴ。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、SQL CREATE INDEX 语句

1.SQL CREATE INDEX 语句

2.SQL CREATE INDEX 语法

3.SQL CREATE UNIQUE INDEX 语法

4.SQL CREATE INDEX 实例

二、SQL 撤销索引、表以及数据库

1.SQL DROP INDEX 语句

2.SQL DROP TABLE 语句

3.SQL DROP DATABASE 语句

4.SQL TRUNCATE TABLE 语句

三、SQL ALTER TABLE 语句

1.ALTER TABLE 语句

2.SQL ALTER TABLE 语法

3.SQL ALTER TABLE 实例

4.DROP COLUMN 实例

四、SQL AUTO INCREMENT 字段

1.AUTO INCREMENT 字段

2.用于 MySQL 的语法

3.用于 SQL Server 的语法

4.用于 Access 的语法

5.用于 Oracle 的语法

五、SQL VIEW(视图)

1.SQL CREATE VIEW 语句

2.SQL CREATE VIEW 语法

3.SQL CREATE VIEW 实例

4.SQL 更新视图

5.SQL 撤销视图

六、SQL NULL 值

1.SQL NULL 值

2.SQL 的 NULL 值处理

1.SQL IS NULL

2.SQL IS NOT NULL


一、SQL CREATE INDEX 语句

1.SQL CREATE INDEX 语句

CREATE INDEX 语句用于在表中创建索引,在不读取整个表的情况下,使数据库应用程序可以更快地查找数据。

索引只能被用来加速搜索/查询,不能被用户看到。

注:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。理想的做法是仅在常被搜索的列(以及表)上面创建索引。

2.SQL CREATE INDEX 语法

在表上创建一个简单的索引(允许使用重复的值):

CREATE INDEX index_name

ON table_name (column_name)

注:"column_name" 规定需要索引的列。

3.SQL CREATE UNIQUE INDEX 语法

在表上创建一个唯一的索引(唯一的索引意味着两个行不能拥有相同的索引值):

CREATE UNIQUE INDEX index_name

ON table_name (column_name)

4.SQL CREATE INDEX 实例

创建一个简单的索引,名为 "Index_Pers",在 Person 表的 LastName 列:

CREATE INDEX Index_Pers

ON Person (LastName)

以降序索引某个列中的值,可以在列名称之后添加保留字 DESC:

CREATE INDEX Index_Pers

ON Person (LastName DESC)

索引不止一个列,可以在括号中列出这些列的名称,并用逗号隔开:

CREATE INDEX Index_Pers

ON Person (LastName, FirstName)

二、SQL 撤销索引、表以及数据库

1.SQL DROP INDEX 语句

使用 DROP INDEX 命令删除表格中的索引。

①用于 Microsoft SQLJet (以及 Microsoft Access) 的语法:

DROP INDEX index_name ON table_name

②用于 MS SQL Server 的语法:

DROP INDEX table_name.index_name

③用于 IBM DB2 和 Oracle 语法:

DROP INDEX index_name

④用于 MySQL 的语法:

ALTER TABLE table_name DROP INDEX index_name

2.SQL DROP TABLE 语句

DROP TABLE 语句用于删除表(表的结构、属性以及索引也会被删除):

DROP TABLE 表名称

3.SQL DROP DATABASE 语句

DROP DATABASE 语句用于删除数据库:

DROP DATABASE 数据库名称

4.SQL TRUNCATE TABLE 语句

使用 TRUNCATE TABLE 命令仅删除表格中的数据,但并不删除表本身:

TRUNCATE TABLE 表名称

三、SQL ALTER TABLE 语句

1.ALTER TABLE 语句

ALTER TABLE 语句用于在已有的表中添加、修改或删除列。

2.SQL ALTER TABLE 语法

在表中添加列:

ALTER TABLE table_name

ADD column_name datatype

删除表中的列:

ALTER TABLE table_name

DROP COLUMN column_name

注:某些数据库系统不允许这种在数据库表中删除列的方式 (DROP COLUMN column_name)。

改变表中列的数据类型:

ALTER TABLE table_name

ALTER COLUMN column_name datatype

Persons 表:

Id

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

002

Buh

Grge

Fifth Aue文章来源地址https://www.toymoban.com/news/detail-829860.html

New York

003

Car

Tmas

Can Street

Beijing

3.SQL ALTER TABLE 实例

在表 "Persons" 中添加一个名为 "Birthday" 的新列:

ALTER TABLE Persons

ADD Birthday date

注:新列 "Birthday" 的类型是 date,可以存放日期。

新"Persons" 表:

Id

LastName

FirstName

Address

City

Birthday

001

Aam

Joh

Oxd Street

London

002

Buh

Grge

Fifth Aue

New York

003

Car

Tmas

Can Street

Beijing

改变 "Persons" 表中 "Birthday" 列的数据类型:

ALTER TABLE Persons

ALTER COLUMN Birthday year

注:"Birthday" 列的数据类型是 year,可以存放 2 位或 4 位格式的年份。

4.DROP COLUMN 实例

删除 "Person" 表中的 "Birthday" 列:

ALTER TABLE Person

DROP COLUMN Birthday

Persons 表:

Id

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

002

Buh

Grge

Fifth Aue

New York

003

Car

Tmas

Can Street

Beijing

四、SQL AUTO INCREMENT 字段

1.AUTO INCREMENT 字段

Auto-increment 会在新记录插入表中时生成一个唯一的数字。

2.用于 MySQL 的语法

把 "Persons" 表中的 "P_Id" 列定义为 Auto-increment 主键:

CREATE TABLE Persons

(

P_Id int NOT NULL AUTO_INCREMENT,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

PRIMARY KEY (P_Id)

)

MySQL 使用 AUTO_INCREMENT 关键字来执行 auto-increment 任务。

默认地,AUTO_INCREMENT 的开始值是 1,每条新记录递增 1。

AUTO_INCREMENT 序列以其他的值起始:

ALTER TABLE Persons AUTO_INCREMENT=100

在 "Persons" 表中插入新记录,不必为 "P_Id" 列规定值(会自动添加一个唯一的值):

INSERT INTO Persons (FirstName,LastName)

VALUES ('Bill','Gates')

上面的 SQL 语句会在 "Persons" 表中插入一条新记录。"P_Id" 会被赋予一个唯一的值。"FirstName" 会被设置为 "Bill","LastName" 列会被设置为 "Gates"。

3.用于 SQL Server 的语法

把 "Persons" 表中的 "P_Id" 列定义为 auto-increment 主键:

CREATE TABLE Persons

(

P_Id int PRIMARY KEY IDENTITY,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

MS SQL 使用 IDENTITY 关键字来执行 auto-increment 任务。

默认地,IDENTITY 的开始值是 1,每条新记录递增 1。

要规定 "P_Id" 列以 10 起始且递增 1,请把 identity 改为 IDENTITY(10,1)

在 "Persons" 表中插入新记录,不必为 "P_Id" 列规定值(会自动添加一个唯一的值):

INSERT INTO Persons (FirstName,LastName)

VALUES ('Bill','Gates')

上面的 SQL 语句会在 "Persons" 表中插入一条新记录。"P_Id" 会被赋予一个唯一的值。"FirstName" 会被设置为 "Bill","LastName" 列会被设置为 "Gates"。

4.用于 Access 的语法

把 "Persons" 表中的 "P_Id" 列定义为 auto-increment 主键:

CREATE TABLE Persons

(

P_Id int PRIMARY KEY AUTOINCREMENT,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

MS Access 使用 AUTOINCREMENT 关键字来执行 auto-increment 任务。

默认地,AUTOINCREMENT 的开始值是 1,每条新记录递增 1。

要规定 "P_Id" 列以 10 起始且递增 1,请把 autoincrement 改为 AUTOINCREMENT(10,1)

在 "Persons" 表中插入新记录,不必为 "P_Id" 列规定值(会自动添加一个唯一的值):

INSERT INTO Persons (FirstName,LastName)

VALUES ('Bill','Gates')

上面的 SQL 语句会在 "Persons" 表中插入一条新记录。"P_Id" 会被赋予一个唯一的值。"FirstName" 会被设置为 "Bill","LastName" 列会被设置为 "Gates"。

5.用于 Oracle 的语法

在 Oracle 中,代码稍微复杂一点。通过 sequence 对创建 auto-increment 字段(该对象生成数字序列)。

使用 CREATE SEQUENCE 语法:

CREATE SEQUENCE seq_person

MINVALUE 1

START WITH 1

INCREMENT BY 1

CACHE 10

上面的代码创建名为 seq_person 的序列对象,它以 1 起始且以 1 递增。该对象缓存 10 个值以提高性能。CACHE 选项规定了为了提高访问速度要存储多少个序列值。

在 "Persons" 表中插入新记录,必须使用 nextval 函数(该函数从 seq_person 序列中取回下一个值):

INSERT INTO Persons (P_Id,FirstName,LastName)

VALUES (seq_person.nextval,'Lars','Monsen')

上面的 SQL 语句会在 "Persons" 表中插入一条新记录。"P_Id" 的赋值是来自 seq_person 序列的下一个数字。"FirstName" 会被设置为 "Bill","LastName" 列会被设置为 "Gates"。

五、SQL VIEW(视图)

1.SQL CREATE VIEW 语句

在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。

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

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

2.SQL CREATE VIEW 语法

CREATE VIEW view_name AS

SELECT column_name(s)

FROM table_name

WHERE condition

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

3.SQL CREATE VIEW 实例

可以从某个查询内部、某个存储过程内部,或者从另一个视图内部来使用视图。

通过向视图添加函数、join 等,可以向用户精确地提交希望提交的数据。

样本数据库 Northwind 拥有一些被默认安装的视图。视图 "Current Product List" 会从 Products 表列出所有正在使用的产品:

CREATE VIEW [Current Product List] AS

SELECT ProductID,ProductName

FROM Products

WHERE Discontinued=No

查询上面这个视图:

SELECT * FROM [Current Product List]

Northwind 样本数据库的另一个视图会选取 Products 表中所有单位价格高于平均单位价格的产品:

CREATE VIEW [Products Above Average Price] AS

SELECT ProductName,UnitPrice

FROM Products

WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)

查询上面这个视图:

SELECT * FROM [Products Above Average Price]

另一个来自 Northwind 数据库的视图实例会计算在 1997 年每个种类的销售总数。请注意,这个视图会从另一个名为 "Product Sales for 1997" 的视图那里选取数据:

CREATE VIEW [Category Sales For 1997] AS

SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales

FROM [Product Sales for 1997]

GROUP BY CategoryName

查询上面这个视图:

SELECT * FROM [Category Sales For 1997]

可以向查询添加条件。仅需要查看 "Beverages" 类的全部销量:

SELECT * FROM [Category Sales For 1997]

WHERE CategoryName='Beverages'

4.SQL 更新视图

更新视图:

SQL CREATE OR REPLACE VIEW Syntax

CREATE OR REPLACE VIEW view_name AS

SELECT column_name(s)

FROM table_name

WHERE condition

向 "Current Product List" 视图添加 "Category" 列:

CREATE VIEW [Current Product List] AS

SELECT ProductID,ProductName,Category

FROM Products

WHERE Discontinued=No

5.SQL 撤销视图

通过 DROP VIEW 命令来删除视图。

DROP VIEW view_name

六、SQL NULL 值

1.SQL NULL 值

如果表中的某个列是可选的,那么可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 NULL 值保存。

注:无法比较 NULL 和 0,因为它们是不等价的。

默认地,表的列可以存放 NULL 值。

NULL 值是遗漏的未知数据。

NULL 值的处理方式与其他值不同。

NULL 用作未知的或不适用的值的占位符。

2.SQL 的 NULL 值处理

"Persons" 表:

Id

LastName

FirstName

Address

City

001

Aam

Joh

London

002

Buh

Grge

Fifth Aue

New York

003

Car

Tmas

Beijing

假如 "Persons" 表中的 "Address" 列是可选的。这意味着如果在 "Address" 列插入一条不带值的记录,"Address" 列会使用 NULL 值保存。

使用 IS NULL 和 IS NOT NULL 操作符来测试 NULL 值,不能使用比较运算符来测试 NULL 值,比如 =, <, 或者 <>。

1.SQL IS NULL

仅选取在 "Address" 列中带有 NULL 值的记录,必须使用 IS NULL 操作符:

SELECT LastName,FirstName,Address FROM Persons

WHERE Address IS NULL

结果集:

LastName

FirstName

Address

Aam

Joh

Car

Tmas

注:请始终使用 IS NULL 来查找 NULL 值。

2.SQL IS NOT NULL

在 "Address" 列中不带有 NULL 值的记录,必须使用 IS NOT NULL 操作符:

SELECT LastName,FirstName,Address FROM Persons

WHERE Address IS NOT NULL

结果集:

LastName

FirstName

Address

Buh

Grge

Fifth Aue

到了这里,关于SQL世界之命令语句Ⅴ的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SQL 数据库语句- 创建和管理数据库

    SQL CREATE DATABASE 语句用于创建一个新的 SQL 数据库。 以下 SQL 语句创建了一个名为 \\\"testDB\\\" 的数据库: 通过这个简单的语句,你可以成功地创建一个名为 \\\"testDB\\\" 的数据库。记得在实际应用中,你可能需要添加其他选项,比如指定字符集、校对规则等,以满足具体需求。 SQL DRO

    2024年02月05日
    浏览(81)
  • SQL语句创建数据库详解

    在SQL中,创建数据库的语句通常是使用 CREATE DATABASE 语句。让我们来详细解释一下这个语句,并通过一个示例来说明如何创建数据库。 CREATE DATABASE语句详解 CREATE DATABASE 语句用于在数据库管理系统中创建一个新的数据库。它的基本语法如下: 其中, database_name 是要创建的数据

    2024年02月19日
    浏览(60)
  • 数据库作业-sql语句查询

    建表的插入数据的表 数据库作业-sql建表和插入数据_快乐的xiao何的博客-CSDN博客 create table supplier( supplierno char(6) primary key, suppliername nvarchar(10), address nvarchar(20), number char(11) )create table category( categoryno char(5) primary key, categoryname varchar(20), descriptions text... https://blog.csdn.net/m0_539670

    2023年04月23日
    浏览(57)
  • 数据库基础——数据库、数据表和SQL语句

    数据库是用来存储、管理数据的仓库 数据表是数据的存储结构 Structured Query Language,结构化查询语言,用来操作数据库 安装MySQL,自行百度 进入cmd使用命令 mysql -hAddress -uUser -p(Password) 登录数据库 -p后直接回车可进入密文登录 如果出现以下报错,则打开任务管理器-服务-开启

    2024年02月09日
    浏览(74)
  • 【数据库】sql server 中的sql语句--增删改查

    上面是要建立的数据库 下面是sql语句:  

    2024年02月05日
    浏览(54)
  • 数据库学习-常用的SQL语句

    背景: 汇整一下自己学习数据库过程中常见的题目及语句。 一.实例分析题     二.简单SQL查询: 三.复杂SQL查询 有3个表(15分钟):(SQL) Student 学生表 (学号,姓名,性别,年龄,组织部门) Course 课程表 (编号,课程名称) Sc 选课表 (学号,课程编号,成绩) 表结构如下:

    2023年04月21日
    浏览(52)
  • SQL 选择数据库 USE语句

    当SQL Schema中有多个数据库时,在开始操作之前,需要选择一个执行所有操作的数据库。 SQL USE语句用于选择SQL架构中的任何现有数据库。 句法 USE语句的基本语法如下所示 : 数据库名称在RDBMS中必须是唯一的。 您可以查看可用的数据库,如下所示: 现在,如果您想使用AMROOD数

    2024年02月08日
    浏览(60)
  • 数据库sql语句(视图的创建)

    例题:  建表:要注意各表之间的索引联系,建表先后顺序很重要,不然建不了,例如先建dept,在建其他表,先在dept插入数据,再在其他表插入数据 (1) (2)  (3)  (4) (5)    插入数据如下图 sql语句: 在 Student 表中加入属性 SAGE(INT 型 )  将 Student 表中的属性 SA

    2024年02月04日
    浏览(70)
  • 数据库应用:MySQL数据库SQL高级语句与操作

    目录 一、理论 1.克隆表与清空表 2.SQL高级语句 3.SQL函数 4.SQL高级操作 5.MySQL中6种常见的约束 二、实验  1.克隆表与清空表 2.SQL高级语句 3.SQL函数 4.SQL高级操作 5.主键表和外键表  三、总结 克隆表:将数据表的数据记录生成到新的表中。 (1)克隆表 ① 先创建再导入 ② 创建

    2024年02月13日
    浏览(81)
  • 数据库基本概念和SQL基本语句

    数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。在数据库中,数据通常以表格的形式存储,这些表格包含了行和列。行通常代表记录,而列代表记录中的不同字段。数据库的设计允许对数据进行高效地查询、更新、删除和添加操作。 基本概念: 数据(Da

    2024年04月22日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包