一:基本操作

  插入

INSERT INTO 表名称 VALUES (值1, 值2,....);
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....);

  更新

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值;

  删除

DELETE FROM 表名称 WHERE 列名称 = 值;
TRUNCATE TABLE 表名称 ; #清空表

二:FOREIGN KEY 约束

  一个表中的外键指向另一个表中的主键。用于预防破坏表之间连接的动作,也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。Persons 表中的 "Id_P" 列是 Persons表中的 主键,Orders表中的 "Id_P" 列是Orders表中的 外键。

CREATE TABLE `Orders` (
`Id_O` INT(11) NOT NULL,
`OrderNo` INT(11) NOT NULL,
`Id_P` INT(11) DEFAULT NULL,
PRIMARY KEY (`Id_O`),
KEY `Id_P` (`Id_P`),
FOREIGN KEY (`Id_P`) REFERENCES `Persons` (`Id_P`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 CREATE TABLE `Persons` (
`Id_P` INT(11) NOT NULL,
`LastName` VARCHAR(50) DEFAULT NULL,
PRIMARY KEY (`Id_P`)
) ENGINE=INNODB DEFAULT CHARSET=utf8

三:UNIQUE 约束,用来约束列的唯一性,每个表可以有多个 UNIQUE 约束,但只能有一个 PRIMARY KEY 约束。

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (Id_P)
)

四:创建索引

本例会创建一个简单的索引,名为 "PersonIndex",在 Person 表的LastName 列:
CREATE INDEX PersonIndexON Person (LastName) ;
如果您希望以降序索引某个列中的值,您可以在列名称之后添加保留字DESC:
CREATE INDEX PersonIndexON Person (LastName DESC) ;
假如您希望索引不止一个列,您可以在括号中列出这些列的名称,用逗号隔开:
CREATE INDEX PersonIndexON Person (LastName, FirstName)

五:将表的主键值插入到其它列

UPDATE
`coupon` c1,
`coupon` c2
SET c1.`sequence_num` = c2.`coupon_id` WHERE c1.coupon_id = c2.coupon_id

六:将查出来的数据插入导指定表

INSERT INTO `activity_publicity_cust`(
`match_cust_id`,`is_delete`,`create_time`,`update_time`
)
SELECT
`match_cust_id`,
(SELECT 1) is_delete,
NOW() ce,
NOW() up
FROM `activity_match_cust` WHERE `match_id` IS NULL AND `customer_id` IS NULL

:select查询执行顺序

(7) SELECT
(8) DISTINCT <select_list>
(1) FROM <left_table>
(3) <join_type> JOIN <right_table>
(2) ON <join_condition>
(4) WHERE <where_condition>
(5) GROUP BY <group_by_list>
(6) HAVING <having_condition>
(9) ORDER BY <order_by_condition>
(10) LIMIT <limit_number> SELECT执行顺序一共分为10步,最先执行FROM操作,最后执行LIMIT操作。其中每一次操作都会产生一张虚拟表作为下一个处理的输入,只是这些虚拟的表对用户来说是透明的,只有最后一个虚拟的表才会被作为结果返回。
#过程分析
1、FORM: 对FROM左表和右表计算笛卡尔积,产生虚表VT1。
2、ON: 对虚表VT1进行ON过滤,只有那些符合<JOIN-CONDITION>的行才会被记录在虚表VT2中。
3、JOIN: 如果指定了OUTER JOIN(比如left join、 RIGHT join),只有匹配的行才会被插入到虚拟表VT3中。
4、WHERE: 对虚拟表VT3进行WHERE条件过滤。只有符合<WHERE-CONDITION>的记录才会被插入到虚拟表VT4中。
5、GROUP BY: 根据group by子句中的列,对VT4中的记录进行分组操作,产生VT5。
6、HAVING: 对虚拟表VT5应用having过滤,只有符合<HAVING-CONDITION>的记录才会被 插入到虚拟表VT6中。
7、SELECT: 执行select操作,选择指定的列,插入到虚拟表VT7中。
8、DISTINCT: 对VT7中的记录进行去重。产生虚拟表VT8.
9、ORDER BY: 将虚拟表VT8中的记录按照<order_by_list>进行排序操作,产生虚拟表VT9.
10、LIMIT:取出指定行的记录,产生虚拟表VT10, 并将结果返回。

八:select case查询

SELECT
CASE counterType
WHEN 1 THEN 'CTP'
WHEN 2 THEN 'NULL'
WHEN 3 THEN '飞鼠'
ELSE 'default'
END AS counterName
FROM urls

 九:SQL执行时间

#查询版本5.0之后支持
SELECT VERSION();
#查看profile是否开启
SHOW VARIABLES LIKE "%pro%" SET profiling =1;
SELECT 1;
SET profiling =1;
SELECT 2;
SHOW PROFILES; -- 语法:SHOW PROFILE FOR QUERY QUERY_ID 查询ID对应SQL执行时各个操作耗时
SHOW PROFILE FOR QUERY 497
-- 语法:SHOW PROFILE type FOR QUERY QUERY_ID, 可以查看SQL语句执行各种资源耗时
SHOW PROFILE ALL FOR QUERY 497 其中type:
ALL: 显示所有的开销信息
BLOCK IO : 显示块IO相关开销
CPU : 显示cpu 相关开销
IPC: 显示发送和接收相关开销
MEMORY: 显示内存相关开销
PAGE FAULTS:显示页面错误相关开销信息
SOURCE : 显示和Source_function ,Source_file,Source_line 相关的开销信息
SWAPS :显示交换次数相关的开销信息

 十:开启自定义函数功能

-- 查看是否开启创建函数的功能
show variables like '%func%';
-- 开启创建函数的功能
set global log_bin_trust_function_creators = 1;

 十一:tinyint类型

tinyint 型的字段如果设置为UNSIGNED类型,只能存储从0到255的整数,不能用来储存负数。
tinyint 型的字段如果不设置UNSIGNED类型,存储-128到127的整数。
1个tinyint型数据只占用一个字节;一个INT型数据占用四个字节。

MySQL-其它整理的更多相关文章

  1. MySQL基础整理(一)之SQL基础(未完成)

    大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...

  2. MySQL 安全整理

    MySQL 安全整理 关闭外网的端口访问. 使用高位的端口号. 如果需要外网访问不给最高的权限. 如果需要外网访问也是绑定客户端. To be continued

  3. PHP调用mysql函数整理

    mysql函数整理 名称:mysql_connect() 用途:打开非持久的 MySQL 连接.如果成功,则返回一个 MySQL 连接标识,失败则返回 FALSE. 语法:mysql_connect( ...

  4. MySQL 语句整理 2019-5-3

    MySQL 语句整理 在整理完Oracle的一些常见用语句后,由于MySQL的语法跟Oracle略有不同,随跟PN的MySQL视频进行了间接整理. 查询薪水大于1800, 并且部门编号为20或30的员 ...

  5. 最全mysql笔记整理

    mysql笔记整理 作者:python技术人 博客:https://www.cnblogs.com/lpdeboke Windows服务 -- 启动MySQL net start mysql -- 创 ...

  6. Centos7搭建php+mysql环境(整理篇)

    终于将mysql+php环境搭建成功,将之前的整理一下,环境:centos7,本机IP:192.168.1.24,数据库用户名及密码都设为root,测试文件路径:/var/www/html 1.取消c ...

  7. Mysql基本操作整理

    1.登录数据库 格式: mysql -h主机地址 -u用户名 -p用户密码 –P端口 –D数据库 –e “SQL 内容”>mysql -uroot -p 数据库名称~~~~~~~~~~~~~~~ ...

  8. MysqL碎片整理优化

    先来说一下什么是碎片,怎么知道碎片有多大! 简单的说,删除数据必然会在数据文件中造成不连续的空白空间,而当插入数据时,这些空白空间则会被利用起来.于是造成了数据的存储位置不连续,以及物理存储顺序与理论 ...

  9. MySQL 笔记整理(16) --“order by”是怎么工作的?

    笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 16) --“order by”是怎么工作的? 在林老师的课程中,第15 ...

  10. MySQL 笔记整理(1) --基础架构,一条SQL查询语句如何执行

    最近在学习林晓斌(丁奇)老师的<MySQL实战45讲>,受益匪浅,做一些笔记整理一下,帮助学习.如果有小伙伴感兴趣的话推荐原版课程,很不错. 1) --基础架构,一条SQL查询语句如何执行 ...

随机推荐

  1. ubantu elasticsearch服务搭建

    1.jdk 1.8以上,elasticsearch是java开发的 [root@VM_58_118_centos sgconfig]# java -version java version " ...

  2. 在成为测试大牛的路上,我推荐BestTest

    BestTest-Python自动化测试9月份班开始招生啦! 网络+现场同步进行,课程新升级,web自动化+接口自动化双管齐下,一线互联网测试开发工程师带你在自动化的世界里自由翱翔! 推荐优惠多多,欢 ...

  3. Bing Beats Google for the Best Way to X-Ray Search LinkedIn

    Bing Beats Google for the Best Way to X-Ray Search LinkedIn 11/13/11 Note: I’ve provided some update ...

  4. 原来在UNITY中使用system.io下的所有函数都可以用相对路径 : Assets/xx

    代码如下图,这样就不用在绝对路径和相对路径之间不断转换了. 想要得到绝对路径时就傅 Application.dataPath  + xxx using System.Collections; usin ...

  5. 前端工具-调试压缩后的JS(Source Map的使用)

    使用 Source Map 可以在 FF 的调试器. Chrome 的 Sources 和 VSCode 中给压缩前的文件下断点,也可以方便定位错误发生的位置(定位到压缩前的文件). 何为 Sourc ...

  6. tr:hover变色的问题

    做表格隔行变色(高亮显示),可以通过设置css中的 tr:hover伪类属性达到效果, 但是,会出一点小问题.td的背景色会覆盖tr的背景色, 在tr:hover下边加上一句:tr:hover td{ ...

  7. Unity 带骨骼的人体模型换装

    直入主题: 1.实验材料 两个模型,虽然缺胳膊少腿的,但是能用!!! 2.条件 两个模型在制作时是基于同一套骨骼,导出模型部位时连着该部位的骨骼一起导出,这样导入到Unity的模型就带有Skinned ...

  8. Nginx 实现全站 HTTPS(基于 Let's Encrypt 的免费通配符证书)

    单域名证书的生成可以 参考这里. acme.sh 项目中文文档 Let's Encrypt 在 18 年 1 月份推出了 ACME v2,支持通配符域名证书,对小网站.个人站长的友好度进一步增加. 常 ...

  9. C#通过UserAgent判断智能设备(Android,IOS,PC,Mac)

    尝试通过 Agent 来获取相应的智能手机设备标识,根据标识的不同来输出对应设备所需的显示样式及其他.经过努力,终于搜集了比较全的 智能设备 的 Agent,相应的判断过程及代码如下,不明白的留言. ...

  10. ICPC2019上海区域赛 部分题解(正在更新)

    K. Color Graph 题意: 给定一个简单图,点个数<=16,删去部分边后,使得该图中无边数为奇数得环,问剩下的边数最大为多少? 思路: 如果一个图中无奇数边的环,那么这个图一定是个二分 ...