SQL语句的一些语法细节(SQL SERVER语句)
本文最后更新于 1046 天前,其中的信息可能已经有所发展或是发生改变。

1.SQL ORDER BY 关键字

ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。

ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字

SQL ORDER BY 语法

SELECT column_name,column_name
FROM table_name
ORDER BY column_name1,column_name2 ASC|DESC;

–ASC表示升序,DESC表示降序

–使用order by语句时应放在所有语句的最后使用,并且排序多个列时先排column_name1再column_name2…

2.删除所有数据(delete和drop table)

您可以在不删除表的情况下,删除表中所有的行。这意味着表结构、属性、索引将保持不变:DELETE FROM table_name;

DELETE * FROM table_name;

注释:在删除记录时要格外小心!因为您不能重来!

DROP TABLE 语句

DROP TABLE 语句用于删除表。DROP TABLE table_name

注释:与delete不同的是drop table 会删除表数据和结果,也是不可逆的!


DROP DATABASE 语句

DROP DATABASE 语句用于删除数据库。DROP DATABASE database_name


TRUNCATE TABLE 语句

如果我们仅仅需要删除表内的数据,但并不删除表本身,那么我们该如何做呢?

请使用 TRUNCATE TABLE 语句:TRUNCATE TABLE table_name

3.SQL JOIN

SQL join 用于把来自两个或多个表的行结合起来。

下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。

  • INNER JOIN:如果表中有至少一个匹配,则返回行(INNER JOIN 与 JOIN 是相同的)
  • LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN:只要其中一个表中存在匹配,则返回行

注释:SQL中的join语句其实对应数据库理论中的连接概念,left join、right join和inner join对应自然连接,full join对应笛卡尔积

4.SQL 约束(Constraints)

CREATE TABLE table_name
(
column_name1 data_type(size) constraint_name,
column_name2 data_type(size) constraint_name,
column_name3 data_type(size) constraint_name,
....
);
  • NOT NULL – 指示某列不能存储 NULL 值。
  • UNIQUE – 保证某列的每行必须有唯一的值。(一个表可以有多个UNIQUE约束但只能有一个primary key,primary key自动包含unique约束)
  • PRIMARY KEY – NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。(主键)
  • FOREIGN KEY – 保证一个表中的数据匹配另一个表中的值的参照完整性。(外键)
  • CHECK – 保证列中的值符合指定的条件。
  • DEFAULT – 规定没有给列赋值时的默认值。

5.AUTO INCREMENT 字段

我们通常希望在每次插入新记录时,自动地创建主键字段的值。

我们可以在表中创建一个 auto-increment 字段。

下面的 SQL 语句把 “Persons” 表中的 “ID” 列定义为 auto-increment 主键字段:CREATE TABLE Persons

(
ID int IDENTITY(1,1) PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

在上面的实例中,IDENTITY 的开始值是 1,每条新记录递增 1。

提示:要规定 “ID” 列以 10 起始且递增 5,请把 identity 改为 IDENTITY(10,5)。

要在 “Persons” 表中插入新记录,我们不必为 “ID” 列规定值(会自动添加一个唯一的值):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')

上面的 SQL 语句会在 “Persons” 表中插入一条新记录。”ID” 列会被赋予一个唯一的值。”FirstName” 列会被设置为 “Lars”,”LastName” 列会被设置为 “Monsen”。

6.触发器

参见:SqlServer基础之(触发器) – wangchuang2017 – 博客园 (cnblogs.com)

本文链接:SQL语句的一些语法细节(SQL SERVER语句)
本文章由 hiyoung 采用 知识共享署名 - 非商业性使用 - 相同方式共享 4.0 国际许可协议 进行许可,转载请注明出处。

评论

  1. 博主
    3 年前
    2021-11-08 13:10:34

    厉害

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇