联结表

  创建联结  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备忘点(下)的更多相关文章

  1. MySQL备忘点(上)

    给自己看的,所以以举例子为主了 检索数据 SELECT 检索单列 SELECT name FROM student 检索多列 SELECT no, name FROM student  检索所有列 S ...

  2. MySQL备忘

    Access denied for user 'root'@'localhost' >> 执行以下语句 GRANT ALL ON dbname.* TO 'root'@'localhost ...

  3. mysql -- 备忘

    select distinct(authorid),author from forum_post where tid=1;

  4. centos 6.4 mysql rpm 离线安装【备忘】

    离线状态下使用rpm的安装包进行mysql的安装,仅作备忘 准备工作: 官网下载mysql离线rpm安装包(这里就不演示了,拿现成的做演示) =================更新线 2018-01- ...

  5. ubuntu下串口编程备忘

    弄了一下串口,一个小问题多折腾了下,备忘.软件环境:zl@zhanglong:~$ cat /etc/lsb-release DISTRIB_ID=UbuntuDISTRIB_RELEASE=12.0 ...

  6. Mysql又一次整理笔记--woods备忘

    ==============================SQL备忘 CRUD 查询 多表 事件等=============================== ------------------ ...

  7. Mysql CPU使用率长期100%的解决思路备忘

    最近一台服务器的CPU使用率长期保持在100%的状态,查看进程发现是Mysql服务导致的.于是搜索各方资料,终于成功解决问题.备忘以及分享一下,希望可以帮助各位新手朋友. (服务器运行环境是Windo ...

  8. 简单备忘一下Linux下的wget和curl如何使用http proxy

    简单备忘一下Linux下的wget和curl如何使用http proxywget -e "http_proxy=porxyhost:port" www.baidu.comcurl ...

  9. QT windows msvc下使用boost库(备忘)

    win32-msvc2015: { contains(QMAKE_HOST.arch, x86):{ INCLUDEPATH += D:\3SDK\boost_1_61_0 LIBS += -LD:\ ...

随机推荐

  1. gRPC Golang/Python使用

    gRPC Golang/Python使用 以前开发网站都是用http协议,学过TCP/IP协议的人都知道,在传输层TCP的基础上,应用层HTTP就是填充了一定规则的文本. 1.gRPC使用和介绍 工作 ...

  2. (二)easyUI之消息提示框

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  3. 前端html转pdf

    转 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...

  4. friend

    #include <iostream> using namespace std; //friend 友元,效率的问题 //get 方法和set方法,是标准封装的结果,friend破坏了这种 ...

  5. flex布局实战

    1.实现盒子的水平垂直居中 .parent{ width:200px; height:200px; display:flex; align-items: center; justify-content ...

  6. C#基础 类及常用函数【string 、Math 、DiteTime 、TimeSpan】

    一  string 类型 string str = "abcdefg"; str.Length  -  字符串长度,返回int类型 str.TrimStart()          ...

  7. VUE目录

    学前预备知识 ECMAScript简介和ES6的新增语法 Nodejs基础 webpack的介绍 babel简介 vue基础 vue基础

  8. python3 matplotlib

    一.matplotlib数据可视化 1.https://matplotlib.org/ 2.figure图形窗口:figsize窗口大小,label轴标签:title标题:lim限制:plot绘图:s ...

  9. tp5 左连接

    db('detainform')->alias('d')->join("information i",'i.z_id=d.z_id','LEFT')->where ...

  10. ggplot2入门与进阶(上)

    出处:http://www.cellyse.com/how_to_use_gggplot2_part1/ ggplot2包是基于Wilkinson在<Grammar of Graphics> ...