MySQL备忘点(下)
联结表
创建联结 FROM 表1,表2 与内连接作用相同类似;如果失去WHERE子句,会出现笛卡尔积现象
内联结 INNER JOIN
高级联结
自联结 例子:SELECT 字段b FROM 表 WHERE 字段a = (SELECT 字段a FROM 表 WHERE 字段B的条件),单条SQL文多次引用一张表
外联结 LEFT OUTER JOIN RIGHT OUTER JOIN FULL JOIN 外联结有三种,分别代表那张表的结果可以为空,还是说都可以为空
组合查询
并 SQL1 UNION SQL2 SQL1 和 SQL2的结果集中字段名必须完全一致
消除重复的并 SQL1 UNION ALL SQL2 SQL1 和 SQL2的结果集中字段名必须完全一致
并排序 SQL1 UNION ALL SQL2 ORDER BY 字段 这个排序是将组合后的总结果集进行排序
插入数据 “多行插入”,“插入检索值”用的比较多
单行插入 “值”可以是null,尽量把字段名完全列出来,而不是依赖自带的顺序
INSERT INTO 表名
(字段名1, 字段名2, 字段名3)
VALUES
(值1, 值2, 值3);
多行插入 这是最简便的方式,避免使用 多条“单行插入”语句
INSERT INTO 表名
(字段名1, 字段名2, 字段名3)
VALUES
(值1x, 值2x, 值3x),
(值1y, 值2y, 值3y),
(值1z, 值2z, 值3z)
插入检索值 INSERT-SELECT语句,INSERT部分和SELECT部分的列名可以不匹配,只要类型一致保证不报错即可,
INSERT INTO 表名
(字段名1, 字段名2, 字段名3)
SELECT
字段名1, 字段名2, 字段名3
FROM
表名x
例如:
INSERT INTO student (no)
SELECT student_no FROM people
更新删除数据 “更新”,“删除”都比较常用,避免使用不带WHERE条件的更新、删除语句,它们太危险了
更新
UPDATE 表名 SET
字段1=值1,
字段2=值2
WHERE
条件
删除
DELETE FROM 表名
WHERE
条件
创建和操纵表
创建表
CREATE TABLE 表名 (
字段1 类型 NOT NULL AUTO_INCREMENT,
字段2 类型 NULL DEFAULT 'Deolin',
…… ,
PRIMARY KEY (字段1)
) ENGINE=InnoDB
字段名 类型 null值? 自增? 默认值,
主键
引擎类型
更新表
ALTER TABLE 表名 (
ADD
DROP
)
删除表
DROP TABLE 表名
重命名表
RENAME TABLE 表名1 TO 表名2
视图 COOP时候的WebQuery
创建视图
CREATE VIEW 视图名 AS
SELECT语句
视图常见的作用就是重用SQL语句,特别是SELECT语句
一般来说视图不用与INSERT、UPDATE、DELETE
游标
用于操作SQL文的结果集,常见的用法可能是分页
触发器
创建触发器
CREATE TRIGGER csts_del AFTER INSERT ON csts
FOR EACH ROW
BEGIN
SELECT 'success'
END
BEGIN - END用于容纳多条SQL语句,不是必须的
删除触发器
DROP TRIGGER csts_del
INSERT触发器
CREATE TRIGGER csts_ins AFTER INSERT ON csts
FOR EACH ROW
SELECT NEW.no
after可以换成before,before用于插入前数据的净化,after用于插入后的确认
NEW关键字指的是一个虚拟表,表中存储的是触发器INSERT语句插入的数据
DELETE触发器
CREATE TRIGGER csts_del AFTER INSERT ON csts
FOR EACH ROW
SELECT OLD.no
OLD关键字与NEW类似,存储的是触发器DELETE语句删除的数据
UPDATE触发器
CREATE TRIGGER csts_upd BEFORE UODATE ON csts
FOR EACH ROW
SET NEW.name =Upper(NEW.name);
Upper()函数返回的是参数字段更新后的值
MySQL备忘点(下)的更多相关文章
- MySQL备忘点(上)
给自己看的,所以以举例子为主了 检索数据 SELECT 检索单列 SELECT name FROM student 检索多列 SELECT no, name FROM student 检索所有列 S ...
- MySQL备忘
Access denied for user 'root'@'localhost' >> 执行以下语句 GRANT ALL ON dbname.* TO 'root'@'localhost ...
- mysql -- 备忘
select distinct(authorid),author from forum_post where tid=1;
- centos 6.4 mysql rpm 离线安装【备忘】
离线状态下使用rpm的安装包进行mysql的安装,仅作备忘 准备工作: 官网下载mysql离线rpm安装包(这里就不演示了,拿现成的做演示) =================更新线 2018-01- ...
- ubuntu下串口编程备忘
弄了一下串口,一个小问题多折腾了下,备忘.软件环境:zl@zhanglong:~$ cat /etc/lsb-release DISTRIB_ID=UbuntuDISTRIB_RELEASE=12.0 ...
- Mysql又一次整理笔记--woods备忘
==============================SQL备忘 CRUD 查询 多表 事件等=============================== ------------------ ...
- Mysql CPU使用率长期100%的解决思路备忘
最近一台服务器的CPU使用率长期保持在100%的状态,查看进程发现是Mysql服务导致的.于是搜索各方资料,终于成功解决问题.备忘以及分享一下,希望可以帮助各位新手朋友. (服务器运行环境是Windo ...
- 简单备忘一下Linux下的wget和curl如何使用http proxy
简单备忘一下Linux下的wget和curl如何使用http proxywget -e "http_proxy=porxyhost:port" www.baidu.comcurl ...
- QT windows msvc下使用boost库(备忘)
win32-msvc2015: { contains(QMAKE_HOST.arch, x86):{ INCLUDEPATH += D:\3SDK\boost_1_61_0 LIBS += -LD:\ ...
随机推荐
- (二十二)SpringBoot之使用Druid连接池以及SQL监控和spring监控
一.引入maven依赖 <dependencies> <dependency> <groupId>org.springframework.boot</grou ...
- 基于【 centos7】三 || 分布式文件系统FastDFS+Nginx环境搭建
1. FastDFS介绍 1.1 FastDFS定义 FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用 ...
- Unity使用Resources读取Resources路径下的二进制文件(Binary Data)必须使用 .bytes扩展名
将某二进制文件放在Resources目录下,希望用Resources.Load<TextAsset>的方式读取,发现TextAsset是null 查阅Unity文档得知,使用Resourc ...
- css的导入与基础选择器
css是什么 css也是一门标记语言,主要用作修改控制html的样式 css书写的位置(导入) css是用来控制页面标签的样式,但是可以根据实际情况书写在不同的位置, 放在不同位置有不同的专业叫法,可 ...
- gitlab自动化部署CI案例
参考: https://blog.csdn.net/hxpjava1/article/details/78514999 (简单操作) https://blog.csdn.net/wh211212/ ...
- h5 移动端开发自适应 meta name="viewport"的使用总结
本文系个人理解,可能有误差,仅供参考,谨慎采纳! 布局视口: 系统自带 一般大于屏幕宽度 理想宽度: 设置页面的viewport 的一个宽度,使不同的手机的布局视口宽度尽量接近可视窗口的值: 可视视 ...
- nmap中文帮助文档
简介: Nmap(“ Network Mapper ”)是用于网络探索和安全审核的开源工具.它设计用于快速扫描大型网络,尽管它可以在单个主机上正常运行.Nmap以新颖的方式使用原始IP数据包来确定网络 ...
- FreeRTOS时间管理
延时函数 vTaskDelay() 相对延时函数,在文件task.c中定义的,要使用的话宏INCLUDE_vTaskDelay必须设置为1: void vTaskDelay( const TickTy ...
- python学习之列表,元祖,字典
python基础 列表 [ ] stats =[1,2,3,4,5] 元素1,2,3,4,5 下标,索引,角标,初始从0开始 增加 stats.append(7)#append方法添加 stats. ...
- 实例化Vue时的两种挂载方式el与$mount
el 与mount 都是挂载. el vue官网的介绍https://cn.vuejs.org/v2/api/#el mount vue官网的介绍 https://cn.vuejs.org/v2/ap ...