趁着假期学习总结下~ sql简介 sql可以查询、从数据库取出数据、插入、更新、删除、创建新的数据库、创建新表、创建存储过程、创建视图、设置表视图和存储过程的权限。...DEFAULT 用于向列中插入默认值,如果没有规定其他的值,就添加默认值。 SQL CREATE INDEX语句 用于在表中创建索引,在不读取整个表的情况下,使用索引可以更快的查找数据。...重要的內建日期函数: MySQL Date函数 函数 描述 now() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 DATE() 提取日期 EXTRACT...() 返回日期 DATE ADD() 给日期添加指定的时间间隔 DATE SUB() 从日期减去指定的时间间隔 DATEDIFF() 返回两个日期之间的天数 DATE FORMAT() 用不同格式显示日期.../时间 SQL SERVER Date函数 函数 描述 GETDATE() 返回当前日期和时间 DATEPART() 返回日期或之间的单独部分 DATEADD() 在日期中添加或减去指定的时间间隔 DATEDIFF
2.3.1 创建 CHECK约束 下面的 SQL 在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束。CHECK 约束规定 "Id_P" 列必须只包含大于 0 的整数。...2.4.1 创建DEFAULT约束 下面的 SQL 在 "Persons" 表创建时为 "City" 列创建 DEFAULT 约束: My SQL / SQL Server: CREATE TABLE...DEFAULT GETDATE() //紧跟列后,函数 ) 如果在表已存在的情况下为 “City” 列创建 DEFAULT 约束,请使用下面的 SQL: MySQL: ALTER TABLE...DATE() 提取日期或日期/时间表达式的日期部分 EXTRACT() 返回日期/时间按的单独部分 DATE_ADD() 给日期添加指定的时间间隔 DATE_SUB() 从日期减去指定的时间间隔 DATEDIFF...DATEADD() 在日期中添加或减去指定的时间间隔 DATEDIFF() 返回两个日期之间的时间 CONVERT() 用不同的格式显示日期/时间 4.2 Date 数据类型 MySQL 使用下列数据类型在数据库中存储日期或日期
AUTO_INCREMENT字段 描述:在表中创建一个 auto-increment 字段,每次插入新记录的时候,会自动递增其数值; MySQL 使用 AUTO_INCREMENT 关键字来执行 auto-increment...---- 0x01 SQL 基础函数 描述:SQL 拥有很多可用于计数和计算的内建函数,可以帮助我们更方便的存储以及获取数据; Date 函数 描述:在处理日期的时候我们需要确保所插入的日期的格式,与数据库中日期列的格式相匹配...Server Date 函数 函数 描述 GETDATE() 返回当前的日期和时间 DATEPART() 返回日期/时间的单独部分 DATEADD() 在日期中添加或减去指定的时间间隔 DATEDIFF...| 时间 :2020-01-12 06:24:18 WeiyiGeek. ---- 0x02 通用数据类型 描述:数据类型定义列中存放的值的种类,在创建 SQL 表时决定表中的每个列将要存储的数据的类型...在 INSERT 或 UPDATE 查询中,TIMESTAMP 自动把自身设置为当前的日期和时间。
4.3 table_open_cache 该参数用来控制所有SQL语句执行线程可打开表缓存的数量, 而在执行SQL语句时,每一个SQL执行线程至少要打开 1 个表缓存。...该参数的值应该根据设置的最大连接数 max_connections 以及每个连接执行关联查询中涉及的表的最大数量来设定 : max_connections x N ; 4.4 thread_cache_size...REVERSE 字符串反转(逆序)函数,返回与原始字符串顺序相反的字符串 日期函数 函数名称 作 用 CURDATE 和 CURRENT_DATE 两个函数作用相同,返回当前系统的日期值 CURTIME...和 SUBDATE 两个函数功能相同,都是向日期减去指定的时间间隔 ADDTIME 时间加法运算,在原始时间上添加指定的时间 SUBTIME 时间减法运算,在原始时间上减去指定的时间 DATEDIFF...获取两个日期之间间隔,返回参数 1 减去参数 2 的值 DATE_FORMAT 格式化指定的日期,根据参数返回指定格式的值 WEEKDAY 获取指定日期在一周内的对应的工作日索引 聚合函数 函数名称
MySQL临时表只在当前连接可见,如果你使用PHP脚本来创建MySQL临时表,那每当PHP脚本执行完成后,该临时表也会自动销毁。...如果你使用了其他MySQL客户端程序连接MySQL数据库服务器来创建临时表,那么只有在关闭客户端程序时才会销毁临时表,当然你也可以手动销毁。...删除MySQL 临时表 默认情况下,当你断开与数据库的连接后,临时表就会自动被销毁。当然你也可以在当前MySQL会话使用 DROP TABLE 命令来手动删除临时表。...) -> ) ENGINE=InnoDB; Query OK, 0 rows affected (1.80 sec) # 执行完第二步骤后,你将在数据库中创建新的克隆表 clone_tbl。...或者你也可以在表创建成功后,通过以下语句来实现: # mysql> ALTER TABLE t AUTO_INCREMENT = 100; MySQL 处理重复数据 有些 MySQL 数据表中可能存在重复的记录
首先查看下当前的sql_mode: show VARIABLES LIKE 'sql_mode'; //修改后需在新的回话里验证原SQL set global sql_mode='STRICT_TRANS_TABLES...连接查询是同时查询两个或两个以上的表时使用的。当不同的表中存在相同意义的列时,可通过该字段来连接这几个表。 MySQL支持不同的连接类型:交叉连接、内连接、自连接查询。...内连接的最常见的列子是相等连接,还有不等连接、自然连接,也就是连接后的表中的某个列与每个表的都相同。 在交叉连接的基础上添加where 子句可以实现内连接。...,都是向日期添加指定的时间间隔 date_sub 和 subdate 两个函数功能相同,都是向日期减去指定的时间间隔 addtime 时间加法运算,在原始时间上添加指定的时间 subtime 时间减法运算...,在原始时间上减去指定的时间 datediff 获取两个日期之间间隔,返回参数 1 减去参数 2 的值 date_format 格式化指定的日期,根据参数返回指定格式的值 weekday 获取指定日期在一周内的对应的工作日索引
SELECT DATE_ADD('2010-3-4', INTERVAL 45 DAY) AS OrderPayDate DATE_SUB() 函数从日期减去指定的时间间隔。...和DATE_ADD 一个是加上日期, 一个是减去日期 DATEDIFF() 函数返回两个日期之间的天数。...采用MDCSOFT-IPS可以有效的防御SQL注入,XSS攻击等。 SQL 视图(Views) 视图是可视化的表。在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。...视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。...在MariaDB、MySQL和Oracle中创建占位符,可使用SAVEPOINT语句。 提示:保留点越多越好可以在SQL代码中设置任意多的保留点,越多越好。为什么呢?
(3)oracle中伪列就像一个表列,但是它并没有存储在表中 a:伪列可以从表中查询,但不能插入,更新和删除它们的值 b:常用的伪列有rowid,rownum ...c:Rowid是表中行的存储地址,该地址可以唯一地标识数据库中的一行,可以使用rowid伪列快速地定位表中的一行; RowNum是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数;... 13:数据操纵语言 1:数据操纵语言用于检索,插入和修改数据 2:数据操纵语言是最常见的sql命令 3:数据操纵语言命令包括: (1)select: a:利用现有的表创建新表...在where子句中写入连接条件; 在表中有相同列时,在列明之前加上表名前缀; 3:连接多给表: (1)连接n个表至少需要n-1个连接条件,例如,连接三个表至少需要两个连接条件...(等同于等值连接) (a)natural join 子句,会以两个表中具有相同名字的列为条件创建等值连接 (b)在表中查询满足等值条件的数据 (c)如果只是列名相同而数据类型不同
数据库服务位置: MySQL Server 数据库数据文件位置: Server data files 数据安装包的类型: 1.老版数据库(没被oracle收购之前的版本)=>在新的操作系统中安装失败的几率较高...select database(); 显示创建库语句 show create database 库名; 数据库中的数据类型 (了解,知道在什么情况下应该使用什么类型的数据) 一。...日期和时间类型 date 只记录日期 2015-01-14 time 只记录时间 11:36:25 year 只记录年 2015...(掌握) 保证数据的完整性的. 1.非空约束(not null) 指定非空约束的列, 在插入记录时 必须包含值. 2.唯一约束(unique) 该列的内容在表中....一个表中只能指定一个主键约束列. 主键约束 , 可以理解为 非空+唯一. 注意: 并且一张表中只能有一个主键约束.
当我们安装了数据库服务器后,就可以在数据库服务器中创建数据库,每个数据库中还可以包含多张表。 数据库表就是一个多行多列的表格。在创建表时,需要指定表的列数,以及列名称,列类型等信息。...2) SQL的作用 客户端使用SQL来操作服务器; 启动mysql.exe,连接服务器后,就可以使用sql来操作服务器了; 将来会使用Java程序连接服务器,然后使用sql来操作服务器。...] 表名( 列名 列类型, 列名 列类型, …… 列名 列类型 ); l 查看当前数据库中所有表名称:SHOW TABLES; l 查看指定表的创建语句:SHOW CREATE TABLE 表名...SELECT IFNULL(comm,0)+1000 FROM emp; IFNULL(comm,0):如果comm中存在NULL值,那么当成0来运算; u 给列起别名 当使用列运算后,查询出的结果集中的列名称不好看...如果在第一条SQL语句执行成功后,在执行第二条SQL语句之前,程序被中断了(抛出异常或其他原因),那么李四的账户上没有加上1000元,而张三却减去1000元,这样就造成了很大的安全漏洞。
/表/视图 CREATE 创建数据库/表 !...CURDATE() 返回当前日期 CURTIME() 返回当前时间 NOW()返回当前日期和时间 YEAR(date)获取指定date的年份 MONTH(date)获取指定date的月份 DAY(date...)获取指定date的日期 DATE_ADD(date,INTERVAL expr type)返回一个日期/时间值加上一个时间 间隔expr后的时间值 DATEDIFF(date1,date2)返回起始日期...,用于限制存储在表中的数据。...多表查询 概述:指从多张表中查询数据 笛卡尔积:在多表查询时,需要消除无效的笛卡尔积 分类 连接查询 内连接:相当于查询A,B交集部分数据 外连接 左外连接:查询左表所有数据,以及两张表交集部分数据
为了让我的工作更轻松,我尽量使用自动化来完成。尽管公司研发一些工具来帮助解决,但需要写 SQL 代码的话用当前工具很难自动化,GPT-3 来救驾!...它知道在 PostgreSQL 中从今天的日期减去一个月的正确方法(now()-间隔“ 1个月”)。太酷了! 为了给 GPT-3 提供更多的上下文,我将有关数据库模式的信息添加到指令中。...用示例启动GPT-3 我想需要通过一个简单的示例来明确告知 GPT-3 表中的列,示例是提供 GPT-3上下文并充实一些细节的好方法,这有助于确定哪些列和表可以使用(GPT-3有时喜欢“发明”列)。...,没看到有关如何从当前日期减去天数的示例。...在较低的Temperature下,GPT-3尝试在“ charges”表中创建一个“ signup_dt”列,因此不必将“ users”表和“ charges”表连接在一起。
人类在进化的过程中,创造了数字、文字、符号等来进行数据的记录,但是承受着认知能力和创造能力的提升,数据量越来越大,对于数据的记录和准确查找,成为了一个重大难题 计算机诞生后,数据开始在计算机中存储并计算...-h后面写要连接的主机ip地址 -u后面写连接的用户名 -p回车后写密码 数据库操作 创建数据库 ? 删除数据库 ? 切换数据库 ? 查看当前选择的数据库 ? 表操作 查看当前数据库中所有表 ?...外键的级联操作 在删除students表的数据时,如果这个id值在scores中已经存在,则会抛异常 推荐使用逻辑删除,还可以解决这个问题 可以创建表时指定级联操作,也可以在创建表后再修改外键的级联操作...还有其它很多三角函数,使用时可以查询文档 日期时间函数 获取子值,语法如下 year(date)返回date的年份(范围在1000到9999) month(date)返回date中的月份数值 day(date...当前日期current_date() ? 当前时间current_time() ? 当前日期时间now() ?
datediff(d1,d2) # date_add/date_sub 函数从日期减去、加上指定的时间间隔 # 其基本的表达式为 date_sub(date, interval expr type)...# 其下两个方法的含义是查询2天前的日期和3天后的日期 select date_sub(now(),interval 2 day) select date_add(now(),interval 3 day...) # 日期部分的操作,分表获取小时数、天数、月份、年份和季度数据 hour(date) day(date) month(date) year(date) quarter(date) # 一周的中周几,...从周日开始算一周的第一天 dayofweek(date) # 日期为当年的第几周 week(date) ◆ select 的用法 select 在日常的工作开发中大家只是用来查询表数据的结果,但是小编想说的是...# 查询当前数据库状态 show status 这里重点说一下 show processlist 命令,这个命令能够查询当前数据库的连接信息,类似于在 linux 中查看正在运行的进程,那么既然可以查到对应的进程
行和列的数据来自定义视图的查询所引用基本表,并且在具体使用视图时动态生成。 视图有如下特点; 1. 视图的列可以来自不同的表,是表的抽象和逻辑意义上建立的新关系。 ...//注意:在SQL语句的命名规范中,视图一般以view_xxx或者v_xxx的样式来命名。视图的查询语句和表的查询语句相同。...可是对于视图来说,由于是“虚表”,并没有存储数据,所以完全可以通过该方式来修改视图。 实现思路就是:先删除同名的视图,然后再根据新的需求创建新的视图即可。...4、日期和时间函数 CURDATE()或CURRENT_DATE() 返回当前的日期 CURTIME()或CURRENT_TIME() 返回当前的时间 DATE_ADD(date,INTERVAL int...MONTHNAME(CURRENT_DATE); NOW() 返回当前的日期和时间 QUARTER(date) 返回date在一年中的季度(1~4),如SELECT QUARTER(CURRENT_DATE
5.统计分析 对数据进行各种维度的统计分析,建立指标体系,系统性地描述业务发展的当前状态,寻找业务中的问题,发现新的优化点与增长点。...3.3 日期函数 日常分析工作中,经常需要对日期进行加减、格式化等处理,这就离不开强大的日期处理函数,常用的日期函数如下: 函数名 含义 CURDATE() 返回当前日期 CURRENT_DATE(...) 返回当前日期,和上面的函数作用相同 CURRENT_TIME() 返回当前时间 NOW() 返回当前的日期和时间 DATE_ADD(d, interval n unit) 返回日期d加上n个单位后的时间...,unit为具体单位,如day,表示天 DATE_SUB(d, interval n unit) 返回日期d减去n个单位后的时间,unit为具体单位,如day,表示天 DATE_DIFF(d1, d2)...(d) 返回日期d的月份 DATE(d) 返回日期时间d的日期部分,舍弃时间部分 日期函数用于获取当前日期时间的函数多数是空参数函数,虽然参数为空,但是函数名后的括号不能省略不写。
2.4.1 创建DEFAULT约束 下面的 SQL 在 "Persons" 表创建时为 "City" 列创建 DEFAULT 约束: My SQL / SQL Server: CREATE TABLE...枚举enum ENUM是一个字符串对象,其值来自表创建时在列规定中显式枚举的一列值....DATE() 提取日期或日期/时间表达式的日期部分 EXTRACT() 返回日期/时间按的单独部分 DATE_ADD() 给日期添加指定的时间间隔 DATE_SUB() 从日期减去指定的时间间隔...DATEDIFF() 返回两个日期之间的天数 DATE_FORMAT() 用不同的格式显示日期/时间 SQL Server Date 函数 GETDATE() 返回当前日期和时间 DATEPART...() 返回日期/时间的单独部分 DATEADD() 在日期中添加或减去指定的时间间隔 DATEDIFF() 返回两个日期之间的时间 CONVERT() 用不同的格式显示日期/时间 SQL Date
关系型数据库:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。...所谓二维表,指的是由行和列组成的表,如下图(就类似于Excel表格数据,有表头、有列、有行, 还可以通过一列关联另外一个表格中的某一列数据)。...常用函数: 函数 功能 CURDATE() 返回当前日期 CURTIME() 返回当前时间 NOW() 返回当前日期和时间 YEAR(date) 获取指定date的年份 MONTH(date) 获取指定...date的月份 DAY(date) 获取指定date的日期 DATE_ADD(date, INTERVAL expr type) 返回一个日期/时间值加上一个时间间隔expr后的时间值 DATEDIFF...保证字段值满足某一个条件 CHECK 外键约束 用来让两张图的数据之间建立连接,保证数据的一致性和完整性 FOREIGN KEY 约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。
关系型数据库: 关系型数据库简单的可以理解为二维数据库,表的格式就如Excel,有行有列。 所谓关系型数据库,是指采用了关系模型来组织数据的数据库。...关系型数据库中的一些基本概念: 1.关系:一个关系对应着一个二维表,二维表就是关系名.每张表由行和列组成 2.元组:在二维表中的一行,称为一个元组。...可以通过使用结构化查询语句(Structured Query Language (SQL))来操作元组数据 3.属性:元组中的一个属性值(分量) 4.码:如果在一个关系中存在这样的一个属性,它的值能够用来唯一标识一行...4) 所有字符串和日期要用单引号括起来,数值不需要单引号。 日期在Oracle里有特定的格式,’DD-MON-YY’(具体看日期的显示格式), 否则作为一个字符串。...= 2》sql比较操作符 between and:在什么范围之内 in(list):在一个列表中 like:模糊查询,即值不是精确的值的时候使用 通配符,即可以代替任何内容的符号 %:通配0到多个字符
领取专属 10元无门槛券
手把手带您无忧上云