联结表

  创建联结  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. C# 重载,重写,代理,枚举实例

    1.日期说法时区不同所取到的值也不同, 多个国的服务器要注意这个玩意 DateTime newDate = DateTime.Now; Console.WriteLine(newDate.ToStri ...

  2. java基础知识学习 内存相关

    Java 内存分配策略 静态存储区(方法区):主要存放静态数据.全局 static 数据和常量.这块内存在程序编译时就已经分配好,并且在程序整个运行期间都存在. 栈区 :当方法被执行时,方法体内的局部 ...

  3. 11.ForkJoinPool 分支/合并框架 (工作窃取)

    /*ForkJoinPool 分支/合并框架 (工作窃取)*/ Fork/Join 框架:就是在必要的情况下,将一个大任务,进行拆分(fork) 成若干个小任务(拆到给出的临界值为止),再将一个个的小 ...

  4. 8.读写锁ReadWriteLock

    /*ReadWriteLock 读写锁*/ private ReadWriteLock lock = new ReentrantReadWriteLock(); lock.readLock().loc ...

  5. [LeetCode] 46. Int数组全排列 ☆☆☆(回溯)

    描述 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2, ...

  6. flask的配置项及获取

    1 修改/新增配置项的3种方法 # 配置参数的使用方式 # 1. 使用配置文件 # app.config.from_pyfile("config.cfg") # 2. 使用对象配置 ...

  7. 阿里高级架构师教你使用Spring JMS处理消息事务源码案例

    消费者在接收JMS异步消息的过程中会发生执行错误,这可能会导致信息的丢失.该源码展示如何使用本地事务解决这个问题.这种解决方案可能会导致在某些情况下消息的重复(例如,当它会将信息储存到数据库,然后监听 ...

  8. .NET Core中使用水印

    .NET Core中使用水印 在项目中,我需要给上传的图片添加水印,通过网上查找针对.NET Core 的找到两个方案: 使用 CoreCompat.System.Drawing 及用于非Window ...

  9. 使用C#的Flags特性

    举个例子:我有如下的一个需求,当我想要取得用户信息的时候,会先从本地缓存中查找,找不到然后从分布式缓存中查找,最后找不到再从数据库中查询.但是有些场景我又不需要查询数据库. 所以我想建立如下这种模型. ...

  10. 一个异常研究InvalidApartmentStateChange

    微软资料:invalidApartmentStateChange MDA 地址:https://docs.microsoft.com/zh-cn/dotnet/framework/debug-trac ...