首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

六年开发经验,整理Mysql数据库技巧笔记,全网最详细笔记集合!

SELECT 列名 FROM 表名1 RIGHT [OUTER] JOIN 表名2 ON 条件; 子查询 将一条查询语句作为一张虚拟表 Mysql约束 主键约束 特点:主键约束默认包含非空和唯一两个功能...即便是在数据库系统遇到故障情况下也不会丢失提交事务操作 事务隔离级别 引发问题 存储引擎 MySQL 支持存储引擎有很多,常用有三种:InnoDB、MyISAM、MEMORY。...唯一索引:索引列值必须唯一,但允许有空值。如果是组合索引,则列值组合必须唯一。 主键索引:一种特殊唯一索引,不允许有空值。在建表时有主键列同时创建主键索引。...索引设计原则 创建索引遵循原则 对查询频次较高,且数据量比较大表建立索引。 使用唯一索引,区分度越高,使用索引效率越高。 索引字段选择,最佳候选列应当 where 子句条件中提取。...针对同一份数据,多个事务读取操作可以同时加锁而互相影响 ,但是不能修改数据。 排他锁:也叫写锁。当前操作没有完成前,会阻断其他操作读取和写入。 按粒度分类 表级锁:会锁定整个表。开销小,加锁快。

1.4K20

SQL命令 CREATE VIEW(一)

这意味着禁止基于特权表/视图安全性。 可以指定用户情况下创建表。 本例中,动态SQL将“_SYSTEM”指定为user,嵌入式SQL将“”(空字符串)指定为user。...要生成这个类名, IRIS首先从视图名称中去掉标点符号,然后生成一个在前96个字符内唯一标识符,需要创建唯一类名时用一个整数(0开始)代替最后一个字符。...由于生成类名不包括标点符号,因此建议(尽管可能)创建仅在标点符号方面与现有视图或表名不同视图名称。在这种情况下, IRIS用一个整数(0开始)代替名称最后一个字符,以创建唯一类名。...它们可以是与选择列名不同名称、与选择列名相同名称或两者组合。视图列名指定顺序与选择列名顺序相对应。由于可以为视图列分配不相关选择列名称,因此分配视图列名称时必须格外小心。...可以创建使用INTO子句指定SELECT视图,但该视图执行失败,并出现SQLCODE-25错误。 CREATE VIEW可以包含UNION语句,以两个联合中选择列。

6.4K21
您找到你想要的搜索结果了吗?
是的
没有找到

mysql常用语句大全_什么是SQL语句

## 一对多,多对一 # 1.设置外键–一方表中添加一个字段添加外键约束与另一张表主键关联。 ## 多对多 # 1.新建关系表–关系表中定义两个外键,分别与两个数据主键相关联。...2.唯一索引:在数据库表中唯一创建索引(unique),此列所有值只能出现一次,可以为null。 3.普通索引:普通字段上创建索引,没有唯一限制。...4.组合索引:两个及以上字段联合起来创建索引。 –说明– 1.创建数据表时,将字段声明为主键(添加主键约束),会自动主键字段创建主键索引。...2.创建数据表时,将字段声明为唯一键(添加唯一约束),会自动唯一字段创建唯一索引。...7.1创建索引 # 1.唯一索引 -- 创建唯一索引:创建唯一索引列值不能重复 -- create unique index on 表名(列名) create unique

79120

SQL必知必会总结3-第14到17章

组合查询union 什么是组合查询 SQL允许执行多个查询(多条SELECT语句),并将结果作为一个查询结果返回,这些组合通常称为并union或者复合查询;通常两种情况下需要使用组合查询: 一个查询中从不同表返回结构数据...对一个表执行多个不同查询,按照一个查询返回数据 创建组合查询 可以用UNION操作符来组合数条SQL查询。...; 需要注意4点: 复制过程中,任何SELECT选项和子句都可以使用,包含WHERE 和GROUP BY子句 可以利用联结多个表插入数据 不管多少个表中检索数据数据最终只能插入到一个表中 INSERT...UPDATE或者DELETE语句使用WHERE语句之前,先用SELECT进行测试,保证它过滤掉是正确记录 创建和操作表 创建表 SQL中一般有两种创建方法: 多数DBMS都具有交互式创建和管理数据库表工具...: 表名紧跟CREATE TABLE 关键字 列名圆括号中,各个列之间通过逗号隔开 每列定义以列名开始,后紧跟数据类型 ,是否允许控制等 整条语句是以分号结束 使用NULL值 NULL值就是没有值或者缺失值

1.4K41

MySQL数据库完整知识点梳理----保姆级教程!!!

区别 DDL语言 库管理 1.库创建 2.库修改 修改数据字符 3.库删除 1.表创建 3.查看表结构 4.修改表相关属性 修改列名---后面必须加上类型---等同于顺带修改列类型...---- 创建表时添加表级约束 语法: 各个字段最下面 [constraint 约束名]--->可以写,写就为默认名,除了主键名固定,其余为字段名 约束类型(字段名); 举例: CREATE...主键 : 唯一 ,不可以为空,至多有一个主键,可以组合,但不推荐 唯一: 唯一,可以为空,可以有多个,可以组合,但不推荐 主键组合解释: DROP TABLE IF EXISTS stu; CREATE...,因此只有当插入两条记录id和stuName都相同时,会报错,因为主键唯一,当插入记录id和stuName某一条为空时,会报错,因为id和stuName组合为一个主键,因此他们两个其中任意一个都不为空...(id,stuName);//唯一组合 ---- 外键特点 要求在从表设置外键关系 类型和主表关联列类型要求一致或者兼容,名称无要求 主表关联列必须是一个key(一般是主键或者唯一

5.8K10

mysql基本命令

,由其自己拼接 视图 视图是一种虚拟存在表,本身包含数据,作为一个select语句保存在数据库中。...通俗讲视图代表是一条select语句产生结果。 create view 视图名称 as select语句; 创建视图 视图单独不能插入,修改数据,因为视图是虚拟。...]普通索引 create unique index 索引名 on 表名(列名);创建唯一索引 create table 表名(列名 数据类型···unique 索引名(列名)); 创建表时创建唯一索引...create unique index 索引名 on 表名(列名,列名);创建联合唯一索引 create table 表名(列名 数据类型···unique 索引名(列名,列名)); 创建表时创建联合唯一索引...,BTree 每层节点数多,层数少,减少了IO读写次数,查询结果更加稳定 5.主键 外键 主键:数据库表中对储存数据对象予以唯一和完整标识数据列或属性组合

1.2K10

数据库常用sql语句总结「建议收藏」

结果被存储一个结果表中(称为结果)。 SELECT 列名称 FROM 表名称 只听到架构师办公室传来架构君声音: 一朝卧病无相识,三春行乐谁边?宛转蛾眉能几时?须臾鹤发乱如丝。...DELETE FROM 表名称 WHERE 列名称 = 值 可以不删除表情况下删除所有的行。...不读取整个表情况下,索引使数据库应用程序可以更快地查找数据。 理想做法是仅仅在常常被搜索列(以及表)上面创建索引。 SQL CREATE INDEX 语法 表上创建一个简单索引。...表上创建一个唯一索引。唯一索引意味着两个行不能拥有相同索引值。... SQL 中,视图是基于 SQL 语句结果可视化表。 视图包含行和列,就像一个真实表。视图中字段就是来自一个或多个数据库中真实表中字段。

19.8K42

SQL快速入门 ( MySQL快速入门, MySQL参考, MySQL快速回顾 )

AND prod_price <= 4; AND 连接同时需要满足两个条件,OR即满足一个条件即可,NOT 找到与后边条件匹配行。...UNIQUE 唯一约束,可唯一标识数据库表中每条记录。 PRIMARY KEY 主键约束,唯一标识数据库表中每条记录,唯一且非空。...每种约束可以创建表时设置好,也可以后期增删. 索引:不读取整个表情况下,索引使数据库应用程序可以更快地查找数据。...,即按照列顺序,分别插入数据推荐)。...此处(同一个表中查询)可以用WHERE , OR代替。 常用作从不同表中查询时,只要列数相同就可以拼接到一起,列名按照第一句中查询列名

1.5K10

SQL快速入门 ( MySQL快速入门, MySQL参考, MySQL快速回顾 )

vend_id = 'DLL01' AND prod_price <= 4; AND 连接同时需要满足两个条件,OR即满足一个条件即可,NOT 找到与后边条件匹配行。...UNIQUE 唯一约束,可唯一标识数据库表中每条记录。 PRIMARY KEY 主键约束,唯一标识数据库表中每条记录,唯一且非空。...每种约束可以创建表时设置好,也可以后期增删. 索引: 不读取整个表情况下,索引使数据库应用程序可以更快地查找数据。...,即按照列顺序,分别插入数据推荐)。...此处(同一个表中查询)可以用WHERE , OR代替。 常用作从不同表中查询时,只要列数相同就可以拼接到一起,列名按照第一句中查询列名

2.2K20

SQL笔记(2)——MySQL表操作与索引

主键索引:索引列中值必须是唯一,不允许有空值。 普通索引:MySQL中基本索引类型,没有什么限制,允许定义索引列中插入重复值和空值。 唯一索引:索引列中值必须是唯一,但是允许为空值。...全文索引:只能在文本类型CHAR,VARCHAR,TEXT类型字段上创建全文索引。字段长度比较大时,如果创建普通索引,进行like模糊查询时效率比较低,这时可以创建全文索引。...前缀索引:文本类型如CHAR,VARCHAR,TEXT类列上创建索引时,可以指定索引列长度,但是数值类型不能指定。...其他(按照索引列数量分类) 单列索引 组合索引:组合索引使用,需要遵循最左前缀匹配原则(最左匹配原则)。一般情况下在条件允许情况下使用组合索引替代多个单列索引使用。...Column_name:索引中包含列名。 Collation:对该列使用字符排序规则,如果该列不在任何索引中,则为NULL。 Cardinality:索引中唯一数量估计,不一定准确。

1.6K20

mysql操作命令梳理(1)-索引

Key_name 索引名称。 Seq_in_index 索引中列序列号,1开始。 Column_name 列名称。 Collation 列以什么方式存储索引中。...对于多列组合索引,如果删除其中某列,则该列也会索引中删除。 如果删除组成索引所有列,则整个索引将被删除。...如果能确定某个数据列将只包含彼此各不相同值,在为这个数据创建索引时候就应该用关键字UNIQUE把它定义为一个唯一索引。也就是说,唯一索引可以保证数据记录唯一性。...主键,是一种特殊唯一索引,一张表中只能定义一个主键索引,主键用于唯一标识一条记录,使用关键字 PRIMARY KEY 来创建。...下例主键A数据是1,主键B数据也是1,联合主键其实是11,这个11是唯一值,绝对充许再出现11这个唯一值。

1.2K60

MySQL学习笔记-基础介绍

语法格式: //‘表名1’表示将获取到记录查到哪个表中,‘表名2’表示哪个表中查询记录 //‘列名列表1’表示为哪些列赋值,设置表示所有列,‘列名列表2’表示表中查询到哪些列数据 insert...,Students.Cource; 6.3.2 内连接查询 内连接是最普通连接类型,而且是最匀称,因为它们要求构成连接每一部分与每个表匹配,匹配行将被排除最后结果之外。...大多数情况下,union 用来把查询产生 结果 添加到不同表,用来创建包括所有结果一个单独表。 使用 union 关键字时,数据库系统会将所有的查询结果合并到一起。然后去除相同记录。...以下场景不适合创建索引: 1、查询中很少被使用索引 2、拥有许多重复值字段 索引分类: 1、普通索引,就是创建索引时,附加任何限制条件(唯一、非空等)。...默认情况下,全文索引搜索执行方式区分大小写,如果全文索引所关联字段为二进制数据类型,则以区分大小写搜索方式执行。 4、单列索引,单个字段上创建索引。单列索引只根据该字段进行索引。

22410

Pandas Merge函数详解

日常工作中,我们可能会多个数据集中获取数据,并且希望合并两个或多个不同数据。这时就可以使用Pandas包中Merge函数。...函数将根据给定数据索引或列组合两个数据。...pd.merge(customer, order) 默认情况下,merge函数是这样工作: 将按列合并,并尝试两个数据集中找到公共列,使用来自两个DataFrame(内连接)列值之间交集。...列和索引合并 在上面合并数据集中,merge函数cust_id列上连接两个数据,因为它是唯一公共列。我们也可以指定要在两个数据上连接列名。...然是如果我们要合并列名两个数据不同时,on参数就没有效果了,这时就需要使用left_on和right_on参数,我们这里以刚刚改名country列为例: pd.merge(customer,

23530

MySQL面试题 硬核47问

因此,在这种情况下,能被存储salary列中范围是-9999999.99到9999999.99。ANSI/ISO SQL92中,句法DECIMAL(p)等价于DECIMAL(p,0)。...优点:类似大学图书馆建书目索引,提高数据检索效率,降低 数据IO成本 ,这也是创建索引最主要原因通过创建唯一索引,可以保证数据库表中每一行 数据唯一实现数据参考完整性方面,可以 加速表和表之间连接...1、字段数值有唯一限制业务上具有唯一特性字段,即使是组合字段,也必须建成唯一索引。...11、多个字段都要创建索引情况下,联合索引优于单值索引27、哪些情况下创建索引,但是没有生效?...它们有一个字符,并根据字符排序规则对值进行排序和比较。35、组合索引是什么?为什么需要注意组合索引中顺序?组合索引,用户可以多个列上建立索引,这种索引叫做组合索引。

1.3K40

技术阅读-《MySQL 必知必会》

完全限定名 SQL 可以使用 表名.列名 形式引用列,表示唯一列。...第十五章 联结表 联结就是正对多个表,进行SQL查询时组合。能更有效地查询多表数据。...SELECT a,b FORM a_table,b_table WHERE a_table.x = b_table.x; 联结创建通过 = WHERE 语句中将两个表相同含义字段关联起来,达到关联表作用...: 单个查询中从不同表返回一样结构数据 单个表执行多个查询,按照单个查询返回数据 如何使用组合查询 用 UNION 操作符组件多个 SQL 查询语句。...一般游标配合数据重复循环处理,MySQL 循环使用 REPEAT-UNTIL。 第二十五章 使用触发器 什么是触发器? 某个表数据发生变更时自动执行一条 MySQL 语句东西。

4.6K20

SQL高级查询方法

子查询例子可以参考笔试题中例子,SQL笔试50题(上),SQL笔试50题(下) 4.9 联接 join 通过联接,可以两个或多个表中根据各个表之间逻辑关系来检索数据。...如果表之间有匹配行,则整个结果行包含基表数据值。 交叉联接 交叉联接将返回左表中所有行。左表中每一行均与右表中所有行组合。交叉联接也称作笛卡尔积。...4.10 UNION运算符 UNION 运算符可以将两个或多个 SELECT 语句结果组合成一个结果。...用 UNION 组合结果集中对应列或各个查询中所使用任何部分列都必须具有相同数据类型,并且可以两种数据类型之间进行隐式数据转换,或者可以提供显式转换。...(两个查询结果然后去重后结果,A∪B) 使用 EXCEPT 或 INTERSECT 比较结果必须具有相同结构。它们列数必须相同,并且相应结果数据类型必须兼容。

5.7K20

SQL命令 DISTINCT

DISTINCT子句应用于SELECT语句结果。它将每个不同(唯一)值返回行数限制为一个任意行。如果未指定DISTINCT子句,则默认情况下显示满足选择条件所有行。...但是,如果将文字指定为逗号分隔列表中项值,则该文字将被忽略,并且DISTINCT将为指定字段名每个唯一组合选择一行。 DISTINCT子句TOP子句之前应用。...DISTINCT和GROUP BY DISTINCT和GROUP BY这两个记录按指定字段(或多个字段)分组,并为该字段每个唯一值返回一条记录。...不同于(*)语法不合法。 子查询:子查询中使用DISTINCT子句是合法,但没有意义,因为子查询返回单个值。 未选择行数据:DISTINCT子句可以与访问任何表数据SELECT一起使用。...如果SELECT包含FROM子句,则DISTINCT是合法,但没有意义。 聚合函数:可以聚合函数中使用DISTINCT子句,以仅选择要包含在聚合中不同(唯一)字段值。

4.3K10

整理了 25 个 Pandas 实用技巧,拿走谢!

更改列名 让我们来看一下刚才我们创建示例DataFrame: ? 我更喜欢选取pandas列时候使用点(.),但是这对那么列名中含有空格列不会生效。让我们来修复这个问题。...按行多个文件中构建DataFrame 假设你数据分化为多个文件,但是你需要将这些数据读到一个DataFrame中。 举例来说,我有一些关于股票小数聚集,每个数据为单天CSV文件。...但是如果数据集中每个文件包含列信息呢? 这里有一个例子,dinks数据被划分成两个CSV文件,每个文件包含三列: ? 同上一个技巧一样,我们以使用glob()函数开始。...你还可以检查每部电影索引,或者"moives_1": ? 或者"moives_2": ? 需要注意是,这个方法索引值唯一情况下不起作用。...读者注:该方法机器学习或者深度学习中很有用,因为模型训练前,我们往往需要将全部数据按某个比例划分成训练和测试。该方法既简单又高效,值得学习和尝试。 13.

3.2K10

Oracle数据库学习

联合主键 关系数据库实际上还允许通过多个字段唯一标识记录,即两个或更多字段都设置为主键,这种主键被称为联合主键。...使用主键索引效率是最高,因为主键会保证绝对唯一唯一索引 设计关系数据时候,看上去唯一列,例如身份证号、邮箱地址等,因为他们具有业务含义,因此不宜作为主键。...也可以只对某一列添加一个唯一约束而创建唯一索引: ALTER TABLE students ADD CONSTRAINT uni_name UNIQUE (name); 这种情况下,name列没有索引...小结 通过对数据库表创建索引,可以提高查询速度。 通过创建唯一索引,可以保证某一列值具有唯一性。 数据库索引对于用户和应用程序来说都是透明。...注意SQL记录索引0开始。

1.8K40
领券