SQL Server 数据库

SQL 基础教程

SQL SELECT使用语法:

        SELECT主要用于从数据库中去相应的数据,根据相应的要求取数据,将取来的数据形成一个表。

以下的 SQL 语句从 "JERRY" 表中选取所有列:

  


      实例1:SELECT * FROM JERRY  

         实例2:SELECT [姓名],[地市] FROM JERRY  (SELECT (字段1),(字段2)FROM (表)


      

SQL SELECT DISTINCT使用语法

        DISTINCT用于返回不同值,在一个列表中一个字段有可能会出现相同值,(DISTINCT)返回不同值。

        从 "JERRY" 表的 "电话" 字段中选取唯一不同的值,也就是去掉 "电话" 列重复值:    

        实例:SELECT DISTINCT 电话 FROM JERRY  


SQL WHERE使用语法

        WHERE 子句用于过滤记录,提取那些满足条件的记录。

         从 "JERRY" 表的中选取地市为 "广西" 的所有记录:

        实例:SELECT * FROM  JERRY [地市] WHERE [地市]='广西'


SQL AND & OR使用语法

        AND & OR基于一个以上的条件,如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

         AND实例: SELECT * FROM  JERRY [地市] WHERE [地市]='广西' AND 电话='123'


        OR实例:SELECT * FROM  JERRY [地市] WHERE [地市]='广西' or 电话='8888'

         AND & OR实例:SELECT * FROM  JERRY [地市] WHERE [地市]='广西' AND 电话='123'or 电话='8888'

         


SQL ORDER BY使用语法

        ORDER BY 关键字用于对结果集进行排序, DESC降序、ASC升序。

        从 "JERRY" 表中选取所有网站,并按照 "电话" 列降序排序:

       (倒序) ORDER BY实例:SELECT * FROM  JERRY ORDER BY 电话 DESC

         (升序) ORDER BY实例:SELECT * FROM  JERRY ORDER BY 电话 ASC

   


    

SQL INSERT INTO使用语法

        INSERT INTO 语句用于向表中插入新记录。

         向 "JERRY" 表中插入一个新行

        实例:INSERT INTO JERRY (姓名,性别,电话,地市,开始时间,结束时间)
                   VALUES ('关羽','男','9999','王者峡谷','2021-02-02','2021-02-02')

        


SQL UPDATE使用语法

        UPDATE 语句用于更新表中已存在的记录。

        

        将 JERRY 表中所有数据的 “小明” 改为 “张飞”,“电话” 改为 “7777”。

        实例:UPDATE JERRY SET 姓名='张飞',电话='7777' WHERE [地市]='湖南'

        


SQL DELETE使用语法

        DELETE 语句用于删除表中的行,有WHERE规定那条记录或者哪些记录被删除,如果省了WHERE,所有的记录都会被删除。

        将 JERRY 表中所有数据电话为“7777”的记录。

        

         实例:DELETE  FROM JERRY WHERE 电话='7777'


SQL 高级教程

SQL SELECT TOP使用语法:

        SELECT TOP 子句用于规定要返回的记录的数目。

         

        从 "JERRY" 表中选取头两条记录.

        实例:SELECT TOP 3 * FROM JERRY

        

          从 "JERRY" 表中选取50%条记录.

        实例:SELECT TOP 50 PERCENT * FROM JERRY

        


SQL LIKE使用语法:

        LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

     姓名字段 以‘小’  开头 的记录

实例1:SELECT * FROM JERRY WHERE 姓名 LIKE '小%' 

  姓名字段 以‘花’  结尾 的记录

        实例2:SELECT * FROM JERRY WHERE 姓名 LIK '%花'

  姓名字段 含有 ‘花’  的记录

        实例3:SELECT * FROM JERRY WHERE 姓名 LIKE '%花%'

 姓名字段 (不)含有 ‘花’  的记录

        实例4:SELECT * FROM JERRY WHERE 姓名  not  LIKE '%花%'


SQL 通配符使用语法:

        通配符一般可用于替代字符串中的任何其他字符。

通配符描述
%代替0个或是多个字符
-代替一个字符
charlist字符列中的任何单一字符
【^charlist】或【!charlist】不在字符列中的任何单一字符

实例:SELECT * FROM JERRY WHERE 姓名 LIKE '_花’


SQL IN使用语法:

        IN 操作符允许WHERE 子句中规定多个值。

实例:SELECT * FROM JERRY WHERE 姓名 IN ('小红','小兰')


SQL BETWEEN使用语法:

BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。

实例1:SELECT * FROM JERRY WHERE 英文 BETWEEN '3' and '7'

实例2:SELECT * FROM JERRY WHERE 开始时间 BETWEEN '2021-01-11' and '2021-05-30'


SQL 别名使用语法:

通过使用 SQL,可以为表名称或列名称指定别名。

实例:SELECT 姓名 AS a,性别 as b,电话 as d,地市 as e,开始时间 AS c FROM JERRY


SQL 连接(JOIN)使用语法:

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

 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。

不同的 SQL JOIN

  • INNER JOIN:如果表中有至少一个匹配,则返回行

  • LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行

  • RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行

  • FULL JOIN:只要其中一个表中存在匹配,则返回行

SQL INNER JOIN使用语法:

INNER JOIN(右连接) 关键字在表中存在至少一个匹配时返回行。

表1“JERRY”

表2“JERRY_copy1”

实例:SELECT* FROM JERRY a INNER JOIN JERRY_copy1 b ON a.id=b.id


SQL LEFT JOIN使用语法:

LEFT JOIN (左连接)关键字从左表(JERRY1)返回所有的行,即使右表(JERRY_copy1)中没有匹配。如果右表中没有匹配,则结果为 NULL。

实例:SELECT* FROM JERRY a LEFT JOIN JERRY_copy1 b ON a.id=b.id


SQL RIGHT JOIN使用语法:

RIGHT JOIN 关键字从右表(JERRY_copy1)返回所有的行,即使左表(JERRY1)中没有匹配。如果左表中没有匹配,则结果为 NULL。

实例:SELECT* FROM JERRY a RIGHT JOIN JERRY_copy1 b ON a.id=b.id


SQL FULL JOIN使用语法:

FULL OUTER JOIN 关键字只要左表(JERRY1)和右表(JERRY_copy1)其中一个表中存在匹配,则返回行.

FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。

实例:SELECT* FROM JERRY a FULL OUTER JOIN JERRY_copy1 b ON a.id=b.id


SQL UNION使用语法:

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

表1“JERRY”

表2“JERRY_copy1”

实例:

SELECT 姓名 FROM JERRY
UNION
SELECT 姓名 FROM JERRY_copy1
ORDER BY 姓名


SQL SELECT INTO使用语法:

从一个表复制信息到另一个表。

SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。

实例:

CREATE TABLE 新表
AS
SELECT * FROM 旧表 

SQL INSERT INTO SELECT使用语法:

从一个表复制信息到另一个表。

INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到另一个新表中。

INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。目标表中任何已存在的行都不会受影响。


SQL CREATE DATABASE使用语法:

CREATE DATABASE 语句用于创建数据库。

CREATE DATABASE (数据库名)


SQL CREATE TABLE使用语法:

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

表由行和列组成,每个表都必须有个表名。

实例:

CREATE TABLE JERRY
(
姓名 varchar(255),
性别 varchar(255),
电话 varchar(255),
地市 varchar(255),

ID int,
)


SQL 约束使用语法:

  • NOT NULL - 指示某列不能存储 NULL 值。

  • UNIQUE - 保证某列的每行必须有唯一的值。

  • PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。

  • FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。

  • CHECK - 保证列中的值符合指定的条件。

  • DEFAULT - 规定没有给列赋值时的默认值。

实例:

CREATE TABLE JERRY
(
ID int NOT NULL,
姓名 varchar(255),
性别 varchar(255),
电话 varchar(255),
地市 varchar(255)
 PRIMARY KEY (ID)  //PRIMARY KEY约束
)


SQL NOT NULL使用语法:

NOT NULL 约束强制列不接受 NULL 值。

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

下面的 SQL 强制 "ID" 列、 "电话" 列以及 "姓名" 列不接受 NULL 值:

实例:

CREATE TABLE JERRY
(
ID int NOT NULL,
姓名 varchar(255) not null,
性别 varchar(255) ,
电话 varchar(255) not null , 
地市 varchar(255) not null
)


SQL UNIQUE使用语法:

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

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

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

实例:

CREATE TABLE JERRY
(
ID int NOT NULL,
姓名 varchar(255) not null,
性别 varchar(255) ,
电话 varchar(255) not null , 
地市 varchar(255) not null,

UNIQUE (ID )
)


SQL PRIMARY KEY使用语法:

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

主键必须包含唯一的值。

主键列不能包含 NULL 值。

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

实例:

CREATE TABLE JERRY
(
ID int NOT NULL,
姓名 varchar(255) not null,
性别 varchar(255) ,
电话 varchar(255) not null , 
地市 varchar(255) not null,

PRIMARY KEY (ID )
)


SQL FOREIGN KEY使用语法:

一个表中的 FOREIGN KEY 指向另一个表中的 UNIQUE KEY(唯一约束的键)。

让我们通过一个实例来解释外键。

实例:

CREATE TABLE JERRY
(
JERRY_copy1_ID int NOT NULL,
JERRY_ID int NOT NULL,
JERRY_copy1_ID int,
PRIMARY KEY (JERRY_copy1_ID),
FOREIGN KEY (ID) REFERENCES JERRY(ID)
)


SQL CHECK使用语法:


SQL DEFAULT使用语法:


SQL CREATE INDEX使用语法:


SQL DROP使用语法:


SQL ALTER使用语法:


SQL Auto Increment使用语法:


SQL 视图使用语法:


SQL 日期使用语法:


SQL NULL 值使用语法:


SQL NULL 函数使用语法:


SQL 通用数据类型使用语法:


SQL DB 数据类型使用语法:


SQL 函数

SQL 函数使用语法:

SQL AVG()使用语法:

SQL COUNT()使用语法:

SQL FIRST()使用语法:

SQL LAST()使用语法:

SQL MAX()使用语法:

SQL MIN()使用语法:

SQL SUM()使用语法:

SQL GROUP BY使用语法:

SQL HAVING使用语法:

SQL EXISTS使用语法:

SQL UCASE()使用语法:

SQL LCASE()使用语法:

SQL MID()使用语法:

SQL LEN()使用语法:

SQL ROUND()使用语法:

SQL NOW()使用语法:

SQL FORMAT()使用语法:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值