欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQL语句入门必学

程序员文章站 2022-09-14 16:14:09
sql快速入门传送门:https://www.w3school.com.cn/sql/sql_func_len.asphttps://blog.csdn.net/u012021123/article/details/779363141、要求目标表table2已经存在数据库,单纯的插入数据insert into table2(field1,field2)select value1,vlues2 from table1 2、要求目标表table2不存在数据库,通过新创建table2进行指定数据字段复...

sql快速入门传送门

1、要求目标表table2已经存在数据库,单纯的插入数据

insert into table2(field1,field2)select value1,vlues2 from table1  

2、要求目标表table2不存在数据库,通过新创建table2进行指定数据字段复制

select value1,value2 into table2 from table1     

3、len()函数返回文本字段中值的长度

具体事例

SELECT LEN(column_name) FROM table_name   可以直接进行判断操作

4、round()函数用于指定字段数值的舍为指定的小数位数

select round(column_name,decimal) from table   指定需要进行舍入的字段和保存位数 必填

5、now()函数用来返回当前数据库操作的时间 getDate()函数用来获取sql server获取当前操作数据库时间

6、format()函数用于转换当前日期数据格式

format(column_name,format)  column_name 需要转换的字段   format 需要转成的数据格式,如 "YYYY-MM-DD"

7、create (unique)index 用于在数据表中创建唯一/不唯一的表索引

事例: create index as index_name on table(Column_name DESC) 索引多个列可以直接使用功能逗号进行隔开即可

8、数据库视图

创建视图:create  or  replace view  view_name as select *  from student

删除视图:drop  view  view_name

查询视图:select * from view_name 

视图是虚拟的数据表结构,不存储数据,是虚拟的表,其中单视图一般用来查询和修改,多视图一般只用来查询,不做修改操作

作用:

安全高效定制

①简化了操作,把经常使用的数据定义为视图。

②安全性,用户只能查询和修改能看到的数据。

③逻辑上的独立性,屏蔽了真实表的结构带来的影响。

9、group by用于结合合计函数,根据一个或者几个列对数据函数进行分组 ,比如sum常常需要添加group by

事例:SELECT Customer,OrderDate,SUM(OrderPrice) FROM Orders
GROUP BY Customer,OrderDate    对统一名称数据进行汇总,不会显示多个

10、delete 对某些表数据进行删除

DELETE FROM 表名称 WHERE 列名称 = 值
delete直接删除表,只会想表数据进行删除,不会删除表结构、属性和索引

11、drop 对某些表结构和数据进行删除索引、表和数据库

drop FROM 表名称 
DROP INDEX  删除表的字段索引   

DROP INDEX table_name.index_name

12、having使用主要原因是where 无法与合并函数一起使用

SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer='Bush' OR Customer='Adams'
GROUP BY Customer
HAVING SUM(OrderPrice)>1500    having在group by的后面进行添加作为过滤条件

13、insert into 用于向已经数据库表中插入数据使用

insert into  table-name(field,field2)values(value1,value2)

14、like操作符用于在 WHERE 子句中搜索列中的指定模式

select * from  table-name where column-name like pattern

15、distinct 表中,可能会包含重复值,distinct 操作符用来筛选中返回不重复的值

select distinct column_name from table-name order by  column-name

16、truncate TRUNCATE TABLE table_name

truncate用于删除表的数据,但仍保留表的数据结构,truncate 不能删除行数据,要删就要把表清空

17、update用于更新表的数据

update   table  set column-name = column-name1 where value = value1

18、Top返回指定数据的条数

sql sever的语法

SELECT TOP number|percent column_name(s)
FROM table_name    number用于指定的数据条数或者数据总数的百分数   等同于limit进行限制返回的数据条数

orcal 语法

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number   直接使用功能rownum进行指定返回的数据条数

19、like操作符用于在WHERE 子句中搜索列中的指定模式

“%” 可用于定义通配符(模式中缺少的字母)

select * form  where column-name like “N%”   前面模糊匹配  %N后面模糊匹配   %N%中间模糊

20、SQL通配符

% 替代一个或者多个字符

_仅替代一个字符

SELECT * FROM Persons
WHERE FirstName LIKE '_eorge'  选取第一个字符之后是eorge的数据
[charlist]字符列中的任何单一字符

SELECT * FROM Persons
WHERE City LIKE '[ALN]%'  挑选出居住城市以A  L N开头的
[^charlist]或者[!charlist]表示不在字符列表的任何单一字符
SELECT * FROM Persons  where city like '[!ALN]'

21、in操作符允许我们在where之后添加多个规定值

select * from table where in('value1','value2')

22、between…and…查询出介于两者之间的值,但是对于不同的数据库查询的结果可能有差异

有的可能全包含,有的全不包含,有的左包含,有的右包含

SELECT * FROM Persons
WHERE LastName
BETWEEN 'Adams' AND 'Carter'   查询字母顺序显示介于该两者的信息
如果想不在该两者,一般直接前面加上not即可

23、Alias直接指定别名

SELECT column_name(s) as akias-name
FROM table_name AS alias_name  通过as或者不使用as直接为表或者列指定别名

24、join和key

通过表的外键连接表数据进行查询

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons, Orders
WHERE Persons.Id_P = Orders.Id_P 

-----内连接查询

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P = Orders.Id_P
ORDER BY Persons.LastName   两表直接使用内部连接  然后在进行排序输出

25、inner join 内部连接,等同于join 常搭配join on

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName

26、left join 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName    返回左表所有的行,右表没有匹配的直接为空

27、right join关键字会根据右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName   右表所有行都会进行显示,左表没有的数据直接不显示

28、full join 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。别称是 full outer join

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
FULL JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName    只要是两表出现的都会返回
FULL JOIN 关键字会从左表 (Persons) 和右表 (Orders) 那里返回所有的行

29、union用于连接表查询的结果集

规范:UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同

UNION 命令只会选取不同的值,而union all会列出所有的相同值

30、select into 语句用于从一个表中选取数据,然后把数据插入另一个表中

IN 子句可用于向另一个数据库中拷贝表

SELECT *
INTO Persons IN 'Backup.mdb'
FROM Persons    直接用于数据库表的拷贝

31、create datebase用于直接创建数据库

create table xxx 用于直接创建数据库表,需要指定字段名称和字段类型

CREATE TABLE Persons
(
Id_P int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

32、constraints增加表的约束条件 可以在创建表的时候进行添加,也可以在之后进行alter table进行修改

NOT NULL   直接在需要进行约束的字段后面添加即可
Plain Text
UNIQUE   可以直接在需要约束字段后面添加,或者最后添加unique(字段)  后面直接使用进行多字段约束  CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
musql:DROP INDEX uc_PersonID  用于撤销响应的约束条件    其他:DROP CONSTRAINT uc_PersonID
PRIMARY KEY   直接创建添加主键,主键需要满足唯一,不为空
FOREIGN KEY  

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) 指定外键然后添加连接
)

CHECK 可以直接在需要进行检查的字段后面添加,多个字段需要指定别名

CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
DEFAULT  指定默认值

32、create index 用于为表创建索引,作用是不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据

CREATE INDEX index_name
ON table_name (column_name)   直接指定需要索引的列
unique指定索引的唯一性   唯一的索引意味着两个行不能拥有相同的索引值
删除索引    DROP INDEX index_name ON table_name    或者  table.index

33、alter用于改变表的字段或者其他的属性

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

P_Id int NOT NULL AUTO_INCREMENT,   自动生成主键
MS SQL 使用 IDENTITY 关键字来执行 auto-increment 任务。
默认地,IDENTITY 的开始值是 1,每条新记录递增 1
如:P_Id int PRIMARY KEY IDENTITY,

35、视图view 视图是基于 SQL 语句的结果集的可视化的表

CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No

36、date()函数 https://www.w3school.com.cn/sql/sql_dates.asp

37、NULL特殊的数据格式 必须使用 IS NULL 和 IS NOT NULL 操作符

38、数据类型 https://www.w3school.com.cn/sql/sql_datatypes.asp

39、UCASE 函数把字段的值转换为大写 lcase函数把字段的值转换成小写

SELECT UCASE(LastName) as LastName,FirstName FROM Persons

40、MID 函数用于从文本字段中提取字符

SELECT MID(City,1,3) as SmallCity FROM Persons   提取每个字段的前三个字符

本文地址:https://blog.csdn.net/baidu_34168157/article/details/107151344