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:\ ...
随机推荐
- 此项目与Visual Studio的当前版本不兼容的报错
问题再现:程序是用visual studio 2013开发的,放在本地运行报此项目与Visual Studio的当前版本不兼容.本地是visual studio 2010. 解决办法: <1&g ...
- 14-MySQL DBA笔记-运维技巧和常见问题处理
第14章 运维技巧和常见问题处理 DBA的成长,离不开对各种问题的处理.本章将为读者介绍一些运维技巧和常见问题的处理方法.我们需要意识到,别人的经验代替不了自己的经验,所以,多实践.多处理问题,最终会 ...
- (一)XML基础(1)
一.什么是XML? XML是指可扩展标记语言(eXtensible MarkupLanguage),它是一种标记语言.它被设计的宗旨是描述数据(XML),而非显示数据(HTML). 目前遵循的是W3C ...
- 【转载】SpringBoot yml 配置
1. 在 spring boot 中,有两种配置文件,一种是application.properties,另一种是application.yml,两种都可以配置spring boot 项目中的一些变量 ...
- Angular 惰性路由
根路由上的一个 loadChildren 属性,设置为一个字符串.这样就是惰性路由了. angular6 这样写:loadChildren: './background-check/backgroun ...
- java 框架-模板引擎FreeMarker
https://www.cnblogs.com/itdragon/p/7750903.html FreeMarker是一个很值得去学习的模版引擎.它是基于模板文件生成其他文本的通用工具.本章内容通过如 ...
- KVM之virsh管理虚拟机网卡配置
虚拟机网卡管理 virsh attach-interface 添加网卡: [root@ubuntu ~]# virsh domiflist CentOS-V6.5.23-server01 Interf ...
- vue axios传参报错的解决方法
今天有人问同一套后台系统为什么jquery可以正常使用,axios却报错呢,下面总结如下: 总的来说是jquery和axios传参类型不同,那为什么jquery和axios请求时传参类型不同? 1)j ...
- mac使用sourcetree跳过注册
转自https://blog.csdn.net/qq_32890891/article/details/89216954 打开sourcetree 关闭sourcetree 命令终端输入default ...
- SRX550路由器缓存满了无法在web页面操作解决方法
SRX550路由器缓存满了无法在web页面操作解决方法 首页出现下图为满的标志,我这个文档就是解决这中情况,让web页面可以操作的 1. 打开命令行,输入用户密码,进入路由器 注意:这里使用te ...