目录
前言
国庆长假刚过,不但没有节后倦怠反而感觉学习状态比假前好多了
总之,借着状态挺好,复习整理了一下好久没用过的SQL语法(SQL Server环境)
大体上是围绕着四种基本功能——增、删、查、改,进行整理的。
内容
增 —— CREATE、INSERT;
进行操作的基础前提就是存在对象,所以首先应该进行的便是创建和添加,用到的语句是 CREATE 和 INSERT
CREATE
CREATE用于Database和Table,进行从零到有的创建
DATABASE
对于Database,使用如下形式进行创建即可:
CREATE DATABASE DBname
DBname为创建的Database的命名
Table
而使用CREATE创建Table则需要同时声明Table中的列名称和类型:
CREATE TABLE TableName
(
ColumnName01 DataType01(size),
ColumnName02 DataType02(size),
ColumnName03 DataType03(size),
…
)
其中,ColumnName参数对应的是每一列的命名,而DataType则是相应的类型,同时还要约束其大小
INSERT
INSERT用于在已有的TABLE中添加一个新的行:
INSERT INTO TableName
VALUES(‘value01’,‘value02’,‘value03’…)
TableName为目标表的命名,VALUES后的是需要添加的行的对应的每一列值,要注意不管什么类型都需要用单引号’'进行包裹
删 —— DELETE、DROP
(使用时要小心,没有后悔药可以吃)
DELETE
用于对Table中的行进行删除,一般配合WHERE语句使用,如果不使用WHERE限定范围则默认为删除所有行,但并不会改变其他的状态:
DELETE FROM TableName
WHERE XXX
或
DELETE * FROM TableName
DROP
用于直接删除整个数据库本身或者表本身:
DROP DATABASE DatabaseName
DROP TABLE TableName
查 —— SELECT
数据的查询自然是针对的有保存数据的地方,也就是表中的行,以名为TestTable的下表为例:
最朴素的查找自然是直接显示每行的所有列属性:
SELECT * FROM TestTable
结果如下:
那么,如果只需要显示其中的某些列的值呢?
将 * 号改成对应的列名即可:
SELECT ID,Name FROM TestTable
多个列名间使用 , 进行连接,查找结果如下:
SELECT TOP
当表中行数过多,而我们只想查看其中前几数量的时候,可以使用SELECT TOP语句来限制显示数量:
SELECT TOP 2 * FROM TestTable
结果如下:
SELECT … WHERE
直接限制显示数量确实可以略去一些不必要的数据,但显然我们不会总是只需要看前几的信息
这个时候就需要对查询的对象进行条件筛选了,如只显示表中ID > 0002 的行:
SELECT * FROM TestTable
WHERE ID > 0002
SQL中的逻辑运算符有:
=、>、<、>=、<=、<>、BETWEEN、LIKE、IN
其中:
<> —— 不等于
BETWEEN —— 在给定的范围中
LIKE —— 符合给定的模糊查找规则
IN —— 在给定的枚举集合中
查询的条件存在多个时,可以使用 AND(并)、OR(或)、 NOT(非)进行配合连接
还有一个需要注意的点是SQL中进行判空并不是使用 =NULL,而是使用 IS NULL
改 —— UPDATA、ALTER
UPDATA
UPDATA用于对表中的行进行数据更新,需要搭配WHERE,否则是默认修改所有行:
UPDATE TableName
SET column1=value1,column2=value2,…
WHERE XXX
SET后接的是对目标行的列数据的修改内容
多个修改间使用 , 进行连接
ALTER
而ALTER的目标对象则是表的列属性
对已有列进行类型修改用法如下:
ALTER TABLE Table
ALTER COLUMN ColumnName Datatype
ColumnName是目标列的命名,后接的Datatype则是想要修改后的类型