My SQL
文章平均质量分 56
Distrlili
这个作者很懒,什么都没留下…
展开
-
My SQL的 几个概念
1.主键主键是能够标识唯一记录的属性或属性组,比如,一条记录包括身份证号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。 一个表只能有一个主键,但可以有多个候选索引;主键常常与外键构成参照完整性约束,防止出现数据不一致。 主键可以保证记录的唯一和主键域非空,数据库管理系统对于主键自动生成唯一索引,所以主键也是一个特殊的索引。2.外键外键(foreign ke原创 2016-10-22 09:21:30 · 927 阅读 · 0 评论 -
SQL Select查询原理--查询语句执行原则(基础)
1.单表查询:根据WHERE条件过滤表中的记录,形成中间表(这个中间表对用户是不可见的);然后根据SELECT的选择列选择相应的列进行返回最终结果。SELECT 字段 FROM 表名 WHERE 条件表达式 那它们是按什么顺序执行呢? 分析器会先看语句的第一个词,当它发现第一个词是SELECT关键字的时候,它会跳到FROM关键字,然后通过FROM关键字找到表名并把表...转载 2018-03-09 21:54:02 · 1304 阅读 · 0 评论 -
SQL常见面试题
1.用一条SQL 语句 查询出每门课都大于80 分的学生姓名name kecheng fenshu 张三 语文 81 张三 数学 75 李四 语文 76 李四 数学 90 王五 语文 81 王五 数学 100 王五 英语 90#按...转载 2018-03-11 14:58:47 · 450 阅读 · 0 评论 -
MySQL error———You can't specify target table 's' for update in FROM clause
[Err] 1093 - You can’t specify target table ‘s’ for update in FROM clause执行SQL语句时出现这个错误。原因是在更新这个表和数据时又查询了它,而查询的数据又做了更新的条件。MySQL不允许在修改表S的同时在其子查询中使用到表S,但是可以通过在子查询中在嵌套一层针对表S的子查询,因为最里层的子查询产生的结果存在临时表中,...原创 2018-03-11 15:31:51 · 360 阅读 · 0 评论 -
LeetCode SQL刷题
1、表联合 Table1: Person (PersonId is the primary key column for this table.) Column Name Type PersonId int FirstName varchar LastName varcharTable2: Address (AddressId is...原创 2018-03-12 12:57:14 · 1135 阅读 · 0 评论 -
SQL 注释语句 ("--"与"/*...*/")
(1)–:表示单行注释(2)/…/:用于多行(块)注释例: use pubs –选择数据库 –first line of a multiple-line comment./first line of a multiple-line comment. second line of a multiple-line comment./...转载 2018-05-27 21:42:19 · 9478 阅读 · 0 评论 -
数据迁移 CREATE TABLE .... AS ...
再做一些数据迁移时候,很多人会使用create table new_table as select * from table old_table where id=-1的方式来年建立一摸一样的表,但是这样做有个很大的弊端,不能将原表中的default value也一同迁移过来。...原创 2018-05-27 21:45:42 · 427 阅读 · 0 评论 -
索引的原理
面试题目:索引的原理及分类? 简单了解一下。索引的原理:索引类似于书的目录,当表中的数据量很大时,索引可以提高数据的检索速度。没有建立索引时,查询name=”TOM”需要将表中的记录全部搜索一遍,因为可能有重名的。 而建立了索引之后,索引会对每个name的值构建索引条目(name,rowid),存储到索引段中,查询时直接找到name为TOM即可直接找到目的地。索引只是用于优化wh...原创 2018-05-29 22:06:43 · 620 阅读 · 0 评论 -
SQLzoo-select from world
1.展示以人口或面积为大国的国家,但不能同时两者SELECT name,population,areaFROM world WHERE (area>3000000 AND population<250000000) OR (area<3000000 AND population>250000000);2.查询以N开头的国家,Oceania用australasia...原创 2018-07-12 14:02:47 · 460 阅读 · 0 评论 -
sqlzoo-names
1.找出所有首都和其国家名字,首都中要有国家名字出现。SELECT capital,nameFROM worldWHERE capital LIKE concat('%',name,'%')concat连接字符串,capital LIKE concat(‘%’,name,’%’)...原创 2018-07-12 15:03:26 · 299 阅读 · 0 评论 -
经典的数据库查询例题
原文:http://www.cnblogs.com/dlexia/p/4449841.htmlhttp://blog.csdn.net/a379850992/article/details/55655495纸上得来终觉浅,绝知此事要躬行。 理论知识要靠实践来加强。1.创建四个表学生表,课程表和成绩表。 Teacher教师表(教工编号Tno,教工姓名Tname,教工性别Tsex,教工...转载 2018-03-07 21:44:20 · 6497 阅读 · 0 评论 -
SQL中分组查询的执行次序
1、group by 的执行的过程:先执行select 的操作返回一个程序集,然后去执行分组的操作,这时候他将根据group by 后面的字段进行分组。2.当同时含有where子句、group by 子句 、having子句及聚集函数时,执行顺序如下:–执行where子句查找符合条件的数据;–使用group by 子句对数据进行分组;对group by 子句形成的组运行聚集函数...转载 2018-03-07 21:26:44 · 629 阅读 · 0 评论 -
My SQL数据定义语言(DDL)
1.生成数据库CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification: [DEFAULT] CHARACTER SET charset_name | [DEFAULT] CO...原创 2016-10-21 21:54:33 · 763 阅读 · 0 评论 -
My SQL函数
SQL数据库的常用函数包括字符串函数、数值函数、日期时间函数、转换函数和正则表达式函数,以及一些聚合函数。1.字符串函数字符串函数主要用于对字符串数据的处理。 函数 含义 ASCII(string) 返回给定ASCII字符string的十进制值 CHAR(string) 返回给定整数integer所对应的ASCII字符 COUNT(st...原创 2016-11-28 16:32:04 · 849 阅读 · 0 评论 -
SELECT高级查询——连接查询、子查询(多表数据查询)
在实际中,经常是从多张表中查询数据。本节学习多表连接查询、子查询等高级SELECT语句的应用。1.简单连接查询多表查询是指SELECT命令中显示的列来源于多个数据表; 连接查询将多个表以某个或某些列为条件进行连接操作而检索出关联数据的过程。多个表之间以共同列而关联在一起。1.1使用WHERE子句的简单连接查询用WHERE子句对数据记录限定检索条件,在WHERE子句中使用”...原创 2016-11-30 17:45:58 · 40854 阅读 · 4 评论 -
MySQL数据操作符
操作符是一个保留字或字符,主要用于SQL语句的WHERE子句来执行操作,比如比较和算术运算。操作符用于在SQL语句里指定条件,还可以连接一个语句里的多个条件。 主要有: 比较操作符 逻辑操作符 求反操作符 算术操作符1.比较操作符 包括 =、<>、< 和 >,用于测试相等,不相等,小于,大于。 组合形式:<= 、>=。2.逻辑操作符 用于对SQL关键字进行比较,包括原创 2016-11-21 11:06:04 · 447 阅读 · 0 评论 -
My SQL数据查询
SELECT语句绝对是SQL里面功能最强大的,FROM子句是一条必要的子句,必须总数与SELECT联合使用。 SELECT 语句里有4个关键字最有价值,如下所示: SELECT FROM WHERE ORDER BY1.SELECT语句 SELECT [*|ALL|DISTINCT COLUMN1,COLUMN2] FROM TABLE1 [,TABLE2]; SELECT之原创 2016-11-15 22:43:56 · 1014 阅读 · 0 评论 -
MySQL 数据操纵语言(DML)
基本命令: INSERT; UPDATE; DELETE。1、INSERT命令用于向一个已有的表插入新行1.1 把数据插入到表 INSERT INTO TABLE_NAME VALUES(‘value1’,’value2’,…); VALUES列里包含表里的每一列,每个值之间是以逗号分隔的,字符、日期和时间数据类型的值必须以单引号包围,而数值或NULL值就不必了。1.2 给表里指定列插原创 2016-11-13 21:44:02 · 1280 阅读 · 0 评论 -
My SQL事务控制语言(TCL)
1、什么是事务?事务(Transaction)是由一系列相关的SQL语句组成的最小逻辑工作单元,在程序更新数据库时事务事关重要,因为必须维护数据的完整性。事务由数据操作语言完成,是对数据库所做的一个或多个修改。用网上的例子来说明 如果我们要修改表中的某条记录,可以用以下方法: 首先删除原记录,然后插入修改后的新记录。 这个过程中有2步:如果出现记录删除成功,但插入的时候因为某种原因导...原创 2016-11-13 22:52:05 · 5005 阅读 · 0 评论 -
My SQL函数
函数是SQL里的关键字,用于对字段里的数据进行操作,通常与字段名称名称或表达式联合使用,处理输入的数据并产生结果。 COUNT SUM MAX MIN AVG1.COUNT 函数用于统计不包含NULL值的记录或字段值,用于查询之中时,它返回一个数值。它也可以与DISTINCT命令一起使用,从而只统计数据集里不同的记录数值。 COUNT[(*)|(DIS...原创 2016-11-23 12:25:37 · 522 阅读 · 0 评论 -
CASE WHEN 嵌套
记录CASE WHEN 流程控制语句SELECT 'PAID' AS '维度', CASEWHEN t2.PRINCIPAL_DUE IN ('1000', '1700') THENIF ( SUM(t1.ORDER_AMT) &gt;= t2.PRINCIPAL_DUE * 0.7, t2.PRINCIPAL_DUE * 0.7, SUM(t1.O...原创 2018-07-06 11:09:12 · 2956 阅读 · 0 评论