mysql update语句

MySQL 5.6, 5.7, 8.0的新特性

时间秒杀一切 提交于 2020-02-24 05:52:28
MySQL 5.6, 5.7, 8.0的新特性 对于MySQL的历史,相信很多人早已耳熟能详,这里就不要赘述。下面仅从产品特性的角度梳理其发展过程中的里程碑事件。 1995年,MySQL 1.0发布,仅供内部使用。 1996年,MySQL 3.11.1发布,直接跳过了MySQL 2.x版本。 1999年,MySQL AB公司成立。同年,发布MySQL 3.23,该版本集成了Berkeley DB存储引擎。该引擎由Sleepycat公司开发,支持事务。在集成该引擎的过程中,对源码进行了改造,为后续可插拔式存储引擎架构奠定了基础。 2000年,ISAM升级为MyISAM存储引擎。同年,MySQL基于GPL协议开放源码。 2002年,MySQL 4.0发布,集成了后来大名鼎鼎的InnoDB存储引擎。该引擎由Innobase公司开发,支持事务,支持行级锁,适用于OLTP等高并发场景。 2005年,MySQL 5.0发布,开始支持游标,存储过程,触发器,视图,XA事务等特性。同年,Oracle收购Innobase公司。 2008年,Sun以10亿美金收购MySQL AB。同年,发布MySQL 5.1,其开始支持定时器(Event scheduler),分区,基于行的复制等特性。 2009年,Oracle以74亿美金收购Sun公司。 2010年, MySQL 5.5 发布

MySQL学习笔记(8)

一世执手 提交于 2020-02-24 02:10:39
SQL的子查询: || 知识点很简单,主要是练习(之前笔记有练习) – MySQL学习笔记(实操)(6) – MySQL学习笔记(实操)(7) SQL的联结: || 什么是联结:两张表通过其中有关系的列进行联结,在有些时候,比复杂的子查询嵌套会更方便 || 所有联结都需要两个要素,1,被联接的表 2,联结方式 3,联结关系 || 联结方式一:where 联结 (使用情景:常用于等值联结) || 联结方式二:内联结 (使用情景:常用于等值联结) ( join 或 inner join ) mysql > select * from score inner join course on score . course_id = course . course_id ; + ------------+-----------+--------+-----------+-------------+------------+ | student_id | course_id | degree | course_id | course_name | teacher_id | + ------------+-----------+--------+-----------+-------------+------------+ | 103 | 3 - 105 | 92 | 3 - 105 |

Mysql死锁原理分析

纵然是瞬间 提交于 2020-02-23 19:29:24
文章来自何凳成博客 1 背景 MySQL/InnoDB 的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事 咨询这方面的问题。同时,微博上也经常会收到MySQL 锁相关的私信,让我帮助解决一些 死锁的问题。本文,准备就MySQL/InnoDB 的加锁问题,展开较为深入的分析与讨论,主要 是介绍一种思路,运用此思路,拿到任何一条SQL 语句,就能完整的分析出这条语句会加 什么锁?会有什么样的使用风险?甚至是分析线上的一个死锁场景,了解死锁产生的原因。 注 :MySQL 是一个支持插件式存储引擎的数据库系统。本文下面的所有介绍,都是基于InnoDB 存储引擎,其他引擎的表现,会有较大的区别。 1.1 MVCC:Snapshot Read vs Current Read MySQL InnoDB 存储引擎,实现的是基于多版本的并发控制协议——MVCC (Multi-Version Concurrency Control) (注:与MVCC相对的,是基于锁的并发控制,Lock-Based ConcurrencyControl)。MVCC 最大的好处,相信也是耳熟能详:读不加锁,读写不冲突。在读多些少的OLTP 应用中,读写不冲突是非常重要的,极大的增加了系统的并发性能,这也是为什么现阶段,几乎所有的 RDBMS,都支持了 MVCC。 在 MVCC 并发控制中

sqoop从hdfs导出到mysql

蹲街弑〆低调 提交于 2020-02-23 13:43:53
create database logs; use logs create table weblogs_from_hdfs( md5 varchar(32), url varchar(64), request_date date, request_time time, ip varchar(15) ); sqoop export -m 1 --connect jdbc:mysql://hadoop:3306/logs --username root --password root --table weblogs_from_hdfs --export-dir /data/weblogs/import --input-fields-terminated-by '\t' 对于通过sqoop导入的数据为NULL的在导出到数据库中时依然保持为NULL.即使在文件中保存为字符串为'null'。 sqoop默认为insert 插入新的语句 --update-key 'md5' 则将创建更新语句,update ....where md5 = '.......' 如果--update-key 'md5' 设置的值没有找到,可以设置--update-mode allowinsert 允许新增这行数据 每个mapper默认默认插入1000条记录,然后提交事务,若mapper失败

MySQL(九)插入、更新和删除

懵懂的女人 提交于 2020-02-23 11:56:09
常用的SQL语句,除了select用于查询,还有insert、update、delete等。 一、insert insert: 用来插入(或添加)行到数据库中,常见方式有以下几种: ① 插入完整的行; ② 插入行的一部分; ③ 插入多行; ④ 插入某些查询的结果; 1、插入完整的行 例如:insert into usertable values(null, 'zhangsan', '25', '1992-05-20', null, null); 这条SQL语句插入一条新的个人信息到usertable表,存储在每个表列中的数据在values中给出,对每个列必须提供一个值,如果某个列没有值,应使用null(假定表允许对该项指定空值); 各个列必须以它们在表定义中出现的次序填充;缺点在于;高度依赖表中列的定义次序,如果表结构出现变动,难免出现问题。 更安全的方法如下(相对比较麻烦): 例如:insert into usertable( user_id, user_name, user_year, user_birthday, user_address, user_email) values(null, 'zhangsan', '25', '1992-05-20', null, null); 这条SQL语句与上面的SQL语句完成同样的工作,但给出了列名

Mysql的建表规范与注意事项

99封情书 提交于 2020-02-22 04:14:57
一、 表设计规范 库名、表名、字段名必须使用小写字母,“_”分割。 库名、表名、字段名必须不超过12个字符。 库名、表名、字段名见名知意,建议使用名词而不是动词。 建议使用InnoDB存储引擎。 存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE。 建议使用UNSIGNED存储非负数值。 建议使用INT UNSIGNED存储IPV4。 整形定义中不添加长度,比如使用INT,而不是INT(4)。 使用短数据类型,比如取值范围为0-80时,使用TINYINT UNSIGNED。 不建议使用ENUM类型,使用TINYINT来代替。 尽可能不使用TEXT、BLOB类型。 VARCHAR(N),N表示的是字符数不是字节数,比如VARCHAR(255),可以最大可存储255个汉字,需要根据实际的宽度来选择N。 VARCHAR(N),N尽可能小,因为MySQL一个表中所有的VARCHAR字段最大长度是65535个字节,进行排序和创建临时表一类的内存操作时,会使用N的长度申请内存。 表字符集选择UTF8。 使用VARBINARY存储变长字符串。 存储年使用YEAR类型。 存储日期使用DATE类型。 存储时间(精确到秒)建议使用TIMESTAMP类型,因为TIMESTAMP使用4字节,DATETIME使用8个字节。 建议字段定义为NOT NULL。 将过大字段拆分到其他表中。

Mysql:初识MySQL

自古美人都是妖i 提交于 2020-02-22 02:59:11
转载自: https://www.cnblogs.com/hellokuangshen/archive/2019/01/09/10246029.html Mysql:初识MySQL 只会写代码的是码农;学好数据库,基本能混口饭吃;在此基础上再学好操作系统和计算机网络,就能当一个不错的程序员。如果能再把离散数学、数字电路、体系结构、数据结构/算法、编译原理学通透,再加上丰富的实践经验与领域特定知识,就能算是一个优秀的工程师了。 为什么学习数据库 岗位技能需求 现在的世界,得数据者得天下 存储数据的方法 程序,网站中,大量数据如何长久保存? 数据库是几乎软件体系中最核心的一个存在。 什么是数据库 数据库( DataBase ,简称 DB ) 概念 : 长期存放在计算机内,有组织,可共享的大量数据的集合,是一个数据"仓库" 作用 : 保存,并能安全管理数据(如:增删改查等),减少冗余... 数据库总览 : 关系型数据库 (SQL) MySQL , Oracle , SQL Server , SQLite , DB2 , ... 关系型数据库通过外键关联来建立表与表之间的关系 非关系型数据库 (NOSQL) Redis , MongoDB , ... 非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定 什么是DBMS 数据库管理系统 ( D

对MYSQL注入相关内容及部分Trick的归类小结

一世执手 提交于 2020-02-21 09:16:48
前言 最近在给学校的社团成员进行web安全方面的培训,由于在mysql注入这一块知识点挺杂的,入门容易,精通较难,网上相对比较全的资料也比较少,大多都是一个比较散的知识点,所以我打算将我在学习过程中遇到的关于的mysql注入的内容给全部罗列出来,既方便个人之后的复习,也方便后人查找相关资料。 本文部分内容可能会直接截取其他大牛的文章,截取的内容我都会进行声明处理。如有侵权,请发email联系我(asp-php#foxmail.com)删除。 本文首发于先知社区,转载需注明来源+作者ID:Yunen。 Mysql简介 在正式讲解mysql注入的内容前,我认为还是有必要说明一下什么是mysql、mysql的特点是什么等内容,这些东西看起来可能对注入毫无帮助,开始却能很好的帮助我们学习,融会贯通。 MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种 关联数据库管理系统 ,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL是 开源 的,所以你不需要支付额外的费用。 MySQL使用 标准的 SQL 数据语言 形式。 MySQL可以运行于多个系统上,并且 支持多种语言 。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel

mysql语言之SELECT

痞子三分冷 提交于 2020-02-21 03:00:58
SELECT 提供数据的查询功能 Syntax: SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr [, select_expr ...] [FROM table_references [WHERE where_condition] [GROUP BY {col_name | expr | position} [ASC | DESC], ... [WITH ROLLUP]] [HAVING where_condition] [ORDER BY {col_name | expr | position} [ASC | DESC], ...] [LIMIT {[offset,] row_count | row_count OFFSET offset}] [PROCEDURE procedure_name(argument_list)] [INTO OUTFILE 'file_name' [CHARACTER SET charset_name] export

SpringBoot+Mybatis+Maven+MySQL逆向工程实现增删改查

不问归期 提交于 2020-02-20 11:01:15
                    SpringBoot+Mybatis+MySQL+MAVEN逆向工程实现增删改查      这两天简单学习了下SpringBoot,发现这玩意配置起来是真的方便,相比于SpringMVC+Spring的配置简直是天堂!!!   当然学习SpringBoot必须要先学会SpringMVC和Spring。     接下来是一个基于SpringBoot+Mybatis+MySQL+MAVEN的在IDEA环境下的简单的增删改查     记录一下自己的学习过程也希望能帮助到需要的人     第一次写博客有啥不对的地方请多多指教,多谢啦          首先呢是环境的搭建: 选中SpringInitializr 选择JDK版本以及项目名称等 选择Web+JPA+MySQL+Mybatis 最后的项目结构是 首先在MAVEN中导入依赖,我自己用的是Mybatis的逆向工程创建UserMapper和User实体类,所以有generator两个配置文件 完整的POM配置如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"