随笔分类 - SQL基础
以MySQL为主
摘要:在数据库中查询的时候,有的字段名是带有空格的,此时我们用普通的查询语句是无法查找的,可以考虑用replace函数或者trim函数 1. replace函数 语法:replace(string,from_str,to_str) 解释:即将string中出现的from_str替换为to_str,repl
阅读全文
摘要:一、简介 对于MySQL等关系型数据库中的索引,可以从不同的维度对其分类,得到不同的名称,下面是常见的四种分类,在这里我们重点介绍按照字段约束分类: 按照算法分类 B Tree索引、Hash索引、R Tree索引、Full text索引 按照字段约束分类 主键索引、唯一索引、普通索引、全文索引、组合
阅读全文
摘要:在SQL中,如果只是执行一条语句,有没有GO都一样。 但是如果多条语句之间用GO分隔开来就不一样了,每个被GO分隔的语句都是一个单独的事务,一个语句执行失败不会影响其他语句执行。 例如: 首先同时执行下边的语句 SELECT * FROM 表名 WHERE id=a; SELECT GETDATA(
阅读全文
摘要:在数据库中,NULL值是一个非常特殊的值。在创建表时,对于表中的每个字段,可以指定字段是否必须包含值。对于不是必须包含值得字段,可以向字段中插入NULL值。 比如,下面这样, CREATE TABLE Teacher( teacher_id VARCHAR(20) NOT NULL, teacher
阅读全文
摘要:在创建表时,对于表名和字段名,是不可以使用中文名的(虽然有的数据库也支持中文表名和中文字段名,但不建议这样做,因为很容易导致乱码问题)。 1、数据库为表提供了一个属性,叫COMMENT,也就是注释,语法如下: 1.1 创建表时为表添加注释, CREATE TABLE Teacher( teacher
阅读全文
摘要:窗口函数,也叫OLAP(Online Anallytical Processing,联机分析处理),可以对数据库数据进行实时分析处理。 语法: <窗口函数> over (partition by <用于分组的列名> order by <用于分组的列名>) <窗口函数>的位置,可以放以下两种函数: 1
阅读全文
摘要:流程控制结构分为三类: 顺序结构:程序从上往下依次而行 分支结构:程序从两条或多条路径中选择一条去执行 循环结构:程序在满足一定条件基础上,重复执行一段代码 一、分支结构 1.1 IF函数 功能:实现简单的分支 语法: IF(exp1,exp2,exp3) 如果exp1成立,则返回exp2的值,否则
阅读全文
摘要:https://www.jb51.net/article/70677.htm 函数与存储过程的区别: 函数:有且仅有一个返回,适合做数据后返回一个结果;函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。 存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更
阅读全文
摘要:1. 什么是存储过程 简答来说,就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法; PS:存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的,且功能比触发器更加强大,触发器是某件事出发后自动调用。 2. 有哪些特性 有输入输出参数,可以声明
阅读全文
摘要:系统变量:全局变量、会话变量 自定义变量:用户变量、局部变量 一、系统变量 说明:变量由系统提供,不是用户定义,属于服务器层面,当服务器启动的时候,服务器会提供这样的系统变量,并赋予默认值,供我们使用。 1.全局变量 作用域:服务器每次启动将为所有全局变量赋初值,针对于所有会话(连接)有效,但不能跨
阅读全文
摘要:视图:虚拟表,和普通表一样使用。数据库中只存放了视图的定义,并没有存放视图中的数据。本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需要使用名称即可获取结果集,并可以将其当做表来使用。 视图和表的对比: 创建语法的关键字 是否实际占用物理空间 使用 视图 create view 只是保
阅读全文
摘要:一、事务控制语言:Transaction COntrol Language 事务:一个或一组SQL语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。 事务的ACID属性: 1.原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
阅读全文
摘要:一、常见约束 1、约束:一种限制,用于限制表中的数据,为了保证表中的数据准确性和可靠性 --六大约束 NOT NULL:非空约束,用于保证该字段的值不能为空 DEFAULT:默认约束,用于保证该字段有默认值 PRIMARY KEY:主键约束,用于保证该字段的值具有唯一性,不能为空,一个表中至多有一个
阅读全文
摘要:MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 其实还有一种二进制数据类型,一般使用BLOB和TEXT类型来定义二进制数据类型的字段,但因为数据库处理这类数据效率并不高,而且数据量一大,会极大的影响数据库的处理效率,所以一般都不建议在数据库中使用这类数据类型。 1、
阅读全文
摘要:DDL(Data Definition Language):数据定义语言 创建:CREATE 修改:ALTER 删除:DROP 一、库的管理 1、库的创建 CREATE DATABASE 库名; 2、库的修改 --在MySQL中,可以使用ALTER DATABASE来修改已经被创建或者存在的数据库的
阅读全文
摘要:DML(Data Manipulation Language):数据操纵语言 插入:INSERT 删除:DELETE 修改:UPDATE 1、插入语句 方式一: INSERT INTO 表名(列名,...) VALUES (值1,...); 方式二: INSERT INTO 表名 SET 列名1=值
阅读全文
摘要:一、分页查询 LIMIT函数:用于限制查询结果返回的数量,但要注意SQL Server不支持LIMIT函数 SELECT * FROM 表名 LIMIT i,n; --i:为查询结果的索引值(默认从0开始) --n:为查询结果返回的数量 LIMIT n --取n条数据 特点: 1.LIMIT语句放在
阅读全文
摘要:子查询就是将一个查询(子查询)的结果作为另一个查询(主查询)的数据来源或判断条件的查询。常见的子查询有WHERE子查询、HAVING子查询、FROM子查询、SELECT子查询、EXISTS子查询,子查询要使用小括号(); 1、WHERE子查询 在WHERE子句中进行使用查询 --查询薪资比平均薪资低
阅读全文
摘要:1、内连接 1.1 等值连接:在连接条件中使用等号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。 1.2 不等值连接:在连接条件中使用除等于运算符外的其他比较运算符比较被连接的列的列值。这些运算符包括>、>=、<=、<、!>、!<和<>。 1.3 自然连接:在
阅读全文
摘要:一、字符函数 1、CONCAT 拼接函数 CONCAT(str1,str2,...) 2、LENGTH 获取字节长度 PS:字节以及字符与编码方式(ASCII、UTF-8等)有关 LENGTH(str) 举例: SELECT LENGTH('SS'); 查询结果为2 3、CHAR_LENGTH 获取
阅读全文

浙公网安备 33010602011771号