当前位置:网站首页>General syntax and usage instructions of SQL (picture and text)
General syntax and usage instructions of SQL (picture and text)
2022-08-02 15:22:00 【dedicated to java】
文章目录
简介:
SQL,全称Structured Query Language,结构化查询语言.
SQL是操作关系数据库的标准语言,是所有关系数据库通用的.
SQLJust a standard set,Implemented by a specific relational database vendor,So some relational databases may not support itSQLfew sentences in .
DDL(Data Definition Language,数据定义)
操作数据库,表等
操作数据库
查询
SHOW DATABASES;
创建
创建数据库
CREATE DATABASES 数据库名称;
在可视化工具中,创建一个名为db1的数据库
Show all databases to verify that we created successfully
Judgment to create a database
CREATE DATABASE IF NOT EXISTS 数据库名称;
判断是否存在,如果不存在就创建 删除
删除数据库
DROP DATABASE 数据库名称;
删除名称为db2的数据库
Determine to delete the database
DROP DATABASE IF EXISTS 数据库名称
使用数据库
查看当前使用的数据库
SELECT DATABASE();
使用数据库
USE 数据库名称;
操作表
查询表
查询当前数据库下所有表名称
SHOW TABLES;
查询表结构
DESC 表名称;
创建表
CREATE TABLE 表名(
字段名n 数据类型n
字段名n 数据类型n
-----
字段名n 数据类型n
)
创建一个名为tb_dog的表名
Check out the newly created table structure 删除
删除表
DROP TABLE 表名;
删除名为tb_dog的表
判断删除
DROP TABLE IF EXISTS 表名;
如果存在名为tb_dogtable is deleted 修改表
修改表名
ALTER TABLE 表名 RENAME TO 新的表名;
将stu修改为students
添加一列
ALTER TABLE 表名 ADD 列名 数据类型;
original structure
添加一列数据
ALTER TABLE 表名 ADD 列名 数据类型;
修改数据类型
ALTER TABLE 表名 MODIFY 列名 新数据类型;
将上面的phoneThe type of the column name is changed to char
修改列名和数据类型
ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型
将phone列名修改为tel 新的类型为varchar
删除列
ALTER TABLE 表名 DROP 列名;
删除tel列
DML(Data Manipulation Language,数据操作)
添加数据
给指定列添加数据
INSERT INTO 表名(列名,列名,.....) values(值1,值2);
验证是否添加成功给全部列添加数据
INSERT INTO 表名 VALUES(值1,值2,....);
添加lucy数据
验证
修改数据
UPDATE 表名 SET 列名1=值1,列名2=值2,....[where 条件]
修改语句中如果不加条件,则将所有数据都修改
当id为8When changing the name to jams age改为18
验证
删除
DELETE FROM 表名 [where 条件];
If there is no condition in the delete statement,则将所有数据都删除!
删除emp表中id为8的数据
DQL(Data Query Language,数据查询)
基础查询
查询部分列
SELECT 列名1,列名2 from 表名;
查询emp表中的age和name信息
查询所有列
SELECT * FROM 表名;
DISTINCTDuplicate records can be removed
查询empAll column data in the table
条件查询
SELECT 字段列表 FROM 表名 WHERE 条件列表
举例:查询emp表中age大于25的列
排序查询(ORDER BY)
SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2]....;
排序方式:
.ASC:升序排列(默认值) If no sorting method is specified, ascending order is used by default
.DESC:降序排列
将emp表中的数据根据agesize in descending order.如果age一样的话根据dept_idSort by size in ascending order
聚合函数
概念
将一列数据作为一个整体,进行纵向计算.
聚合函数分类
count(列名) //统计数量(Generally selected partsnull的列)
max(列名) //最大值
min(列名) // 最小值
sum(列名) //求和
avg(列名) //平均值
聚合函数语法
SELECT 聚合函数名(列名) FROM表;
null值不参与所有聚合函数运算
查询emp表中所有的列数
查看emp表中age最大的值是多少
查看emp表中ageThe smallest person and name
求emp表中所有age的和
求emp表中age的平均值
分组查询(GROUP BY)
语法
SELECT 字段列表 FROM 表名[where 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];
注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义
where和having区别
.执行时机不一样:where是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤.
.可判断的条件不一样:where不能对聚合函数进行判断,having可以.
执行顺序:where>聚合函数>having
students中的所有数据
We are based on the data in the tablesexFind the average math scores for men and women separately
The average math score and the number of boys and girls in the query table,分数小于70are not grouped
The average math score and the number of boys and girls in the query table,分数小于70are not grouped,greater than after grouping90The number of points is greater than2
分页查询(LIMIT)
SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询条目数;
起始索引从0开始计算公式:起始索引=(当前页码-1)*每页显示的条数
Oracle分页查询使用rownumber
SQL server分页查询使用top
Divide the data in the table into three columns Query the content of the first page
例如:新建一个 Message
对象,并将读取到的数据存入 Message
,然后 mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();
换成 mHandler.sendMessage()
.
约束
约束分类
非空约束
描述 保证列中所有数据不能有null值
关键字NOT NULL
唯一约束
描述:保证列中所有数据各不相同
关键字UNIQUE 主键约束
描述:主键是一行数据的唯一表示,要求非空且唯一
关键字PRIMARY KEY 默认约束
描述:保存数据时,未指定值则采用默认值
关键字 DEFALUT
外键约束
描述 外键用来让两个表的数据之间建立连接,保证数据的一致性和完整性
关键字 FOREIGN KEY
用来让两个表的数据之间建立链接,保证数据的一致性和完整性
dept表
emp表
模型
语法
创建表时添加外键约束
CREATE TABLE 表名(
列名 数据类型,
...
[CONSTRAINT] [外键名称] FOREIGN KEY(外键列名) REFERENCES 主表(主表列名)
)
建完表后添加外键约束
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称);
删除约束
ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;
多表查询
内连接
隐式内连接
SELECT 字段列表 FROM 表1,表二...where 条件;
查询emp和dept表中的所有数据 条件是emp中的部门id等于部门id
Otherwise, there will be a Cartesian product
显示内连接
SELECT 字段列表 FROM 表1[INNER] JOIN 表二 ON 条件;
内连接相当于查询A B 交集数据
外连接
左外连接
SELECT 字段列表 FROM 表1 LEFT [OUTER] JOIN 表2 ON 条件;
右外连接
SELECT 字段列表 FROM 表1 RIGHT [OUTER] JOIN 表2 ON 条件;
左外链接:相当于查询A表所有数据和交集部分数据
右外连接:相当于查询BTable all data and communicative part data
子查询
单行单列:作为条件值,使用= != > <等进行判断
SELECT 字段列表 FROM 表 WHERE 字段名 = (子查询);
多行单列:作为条件之,使用inWait for keywords to judge
SELECT 字段列表 FROM 表 WHERE 字段名 IN(子查询);
多行多列:作为虚拟表
SELECT 字段列表 FROM(子查询) WHERE 条件;
事务
事物的特性
原子性
原子性事务中的操作为一个整体,要么都做,要么都不做.i.e. once the transaction fails,就回滚事务一致性
一致性事务:执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态.因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态
简单举例 The two have a thousand dollars each A lends B500After the dollar, the sum of the two people's money is still the same2000:隔离性
隔离性:一个事务的执行不能被其他事务干扰.即一个事物内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事物之间不能互相干扰 持久性
持久性:指一个事物一旦提交,它对数据库中数据的改变就应该是永久性的.接下来的其他操作或故障不应该对其有任何影响
# 开启事务
START TRANSACTION
或 BEGIN;
#提交事务
COMMIT;
# 回滚事务;
ROLLBACK;
(复习sql用法,The reference is the video of the dark horse programmer)
边栏推荐
猜你喜欢
随机推荐
使用预训练语言模型进行文本生成的常用微调策略
蓝牙温度检测系统(基于BT08-B蓝牙模块)
对疫情期间量化策略表现的看法
Win11电脑一段时间不操作就断网怎么解决
FP5207电池升压 5V9V12V24V36V42V大功率方案
DP4301无线收发SUB-1G芯片兼容CC1101智能家居
How to reinstall Win7 system with U disk?How to reinstall win7 using u disk?
关系代数、SQL与逻辑式语言
2022TI杯D题混沌信号产生实验装置
用U盘怎么重装Win7系统?如何使用u盘重装系统win7?
[论文阅读] ACT: An Attentive Convolutional Transformer for Efficient Text Classification
关于c语言的调试技巧
小T成长记-网络篇-1-什么是网络?
win10无法直接用照片查看器打开图片怎么办
基于无监督医学图像配准论文(1)
预训练模型 Bert
机器学习---监督学习、无监督学习
最小树高度
How to add a one-key shutdown option to the right-click menu in Windows 11
Win10电脑不能读取U盘怎么办?不识别U盘怎么解决?