安承悦读

sql基础知识总结(优选10篇)

admin
导读 在mysql中,我们可以使用concat函数对字段进行拼接,格式如下。就是把一张表看成两张表。进行自连接往往是一张表的某些列间存在逻辑关系。对于字符串中存在的空格,我们可以用字符串处理函数RTRIM()、LTRIM()、TRIM()来进行处理。

sql基础知识总结 第1篇

1.什么是事务

需要在同一个处理单元中执行的一系列更新处理的集合。一个事务中包含多少个更新处理或者包含哪些处理,在DBMS中并没有固定的标准,而是根据用户的要求决定的。

2.语法

3.理解事务

事务其实很好理解,它将一系列操作放在一个块中形成一个代码块,这个代码块要执行就全部执行,要么就不执行。

拿银行转账举例,转账的过程为,我的账户金额减少——>对方账户金额增加——>交易完毕。

如果我的账户金额减少后出现了故障导致对方账户金额没有增加,那么这肯定是不被允许的。所以这个转账过程中的每一步都必须完整的执行。

rollback就是在DML语句出现故障时,来使得数据库回滚到执行操作前的状态。而commit则是所有DML正确执行后才执行,告诉系统这个事务正常完成了,系统可以进入下一个新的状态了。

一、case when语句

这个语句出现的比较频繁,所以这里给出它的格式。

二、sql语句及种类

这是sql的基础知识,需要知道。

三、exists谓词

在SQL语言中,EXISTS(存在)谓词是一个非常重要的查询关键词。

EXISTS代表存在量词。带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”。

具体如何使用exists可以参照如下文章,写的通俗易懂。

sql基础知识总结 第2篇

表的连接主要分为以下几种。

1.内连接

语法格式如下:

内连接就是得出两个表的交集部分。

2.左连接

语法格式如下:

左连接就是左边表的记录要全部显示出来,右表只有和左表匹配到的记录才进行显示。

3.右连接

和左连接相反,不再累述。

4.自连接

就是把一张表看成两张表。进行自连接往往是一张表的某些列间存在逻辑关系。

sql基础知识总结 第3篇

1.插入数据

虽然表名后面的列名表不是严格要求的,但是这样会更安全。如果不写出列名,则需要严格按照表的定义插入数据。

如果我们只需要插入一行中的部分列,那么列出列名就变得必须了。

.插入检索出的数据

使用insert...select语句进行。以下是格式。

.复制表

2.更新数据

一定切记不要忘了过滤条件,否则将会对所有行的数据进行更新。

3.删除数据

sql基础知识总结 第4篇

1.计算字段

存储在数据库表中的数据一般不是应用程序所需要的格式。

我们需要直接从数据库中检索出转化、计算或格式化过的数据;而不是检索出数据,然后再在客户机应用改程序或报告程序中重新格式化。

只有数据库知道SELECT语句中那些列是实际的表列,哪些列是计算字段。从客户机(应用程序)的角度来看,计算字段的额数据是以与其他列的数据相同的方式返回的。

2.拼接字段

在mysql中,我们可以使用concat函数对字段进行拼接,格式如下。

对于字符串中存在的空格,我们可以用字符串处理函数RTRIM()、LTRIM()、TRIM()来进行处理。

3.使用别名

我们可以用关键字as来给我们的列起一个别名。格式如下

sql基础知识总结 第5篇

CREATE TABLE example AS

SELECT

, AS customer, 

    , AS shipper, AS product

FROM customers c

JOIN orders o USING (customer_id)

LEFT JOIN shippers sh

ON =

CROSS JOIN products p;

sql基础知识总结 第6篇

1.使用where子句

在sql中,我们使用where子句来对查询出的结果进行过滤,得到我们所需要的数据。它的格式如下。

过滤条件有多个时,我们可以使用and或or来进行多个条件的罗列。值得注意的是,当有多个过滤条件是,and的优先级会高于or,这也许会导致一些逻辑错误,需要注意。

子句操作符

值得注意的是,在判断某个值是否为空值是,应该使用is null或is not null来判断,而不是使用_= null_或_!= null_。

3.使用通配符进行过滤

在用通配符进行过滤时,我们使用like操作符进行。

通配符主要包括两个,它们分别为百分号'%'和下划线'_'。

其中'%'表示任意长度的字符串,而下划线'_'只表示一个字符。

需要注意的是,'%'不仅可以表示一个或多个字符,还可以表示0个字符

sql基础知识总结 第7篇

1.创建组合查询

创建组合查询时我们使用UNION将两个或多个select语句查询出的结果组合在一起形成一个表。

需要不同的select语句返回相同数量的列且对应列的数据类型相同,事实上应该是意义都一样才合理。

与union all

对于组合查询出的结果,如果使用union,则会自动对结果进行去重。如果不想去重则使用union all。

3.组合查询的排序

对于组合查询结果的排序只需要使用一个order by子句,放在最后一个select语句的后面即可。

sql基础知识总结 第8篇

USE store;

SELECT DISTINCT points+10 AS _new points_ FROM customers 

WHERE points BETWEEN 500 AND 3000 OR 

    last_name LIKE '%b%' OR 

last_name NOT LIKE '_____y' OR

    last_name REGEXP '^rose|mac|field$|[a-h]e|[lt]y' OR

    phone IS NULL

ORDER BY state, _new points_ DESC

LIMIT 2, 3; -- from 3 to 5

sql基础知识总结 第9篇

CREATE TABLE orders_archived AS SELECT * FROM orders;

-- Truncate

INSERT INTO orders_archived 

SELECT * FROM orders WHERE order_date < '2016-01-01'

UNION

SELECT * FROM orders WHERE order_date > '2019-01-01';

INSERT INTO order_items

VALUES 

(LAST_INSERT_ID(),1,1,),

    (LAST_INSERT_ID(),2,1,);

sql基础知识总结 第10篇

在WHERE子句中不能使用SELECT中的别名

单表查询:从一张表中查询数据

SELECT FROM table_name

多表查询:从多张表中联合查询出数据

SELECT FROM 表名A,表名B,表名C

1.非空约束(NK):NOT NULL,不允许某列的内容为空。

2.设置列的默认值:DEFAULT。

3.唯一约束(UK):UNIQUE,在该表中,该列的内容必须唯一。

4.主键约束:PRIMARY KEY, 非空且唯一。

5.主键自增长:AUTO_INCREMENT,从1开始,步长为1。

6.外键约束:FOREIGN KEY,A表中的外键列.A表中的外键列的值必须参照于B表中的某一列(B表主键)。

注意:在MySQL中,InnoDB支持事务和外键.

修改表的存储引擎为InnoDB: ALTER TABLE 表名 ENGINE='InnoDB'