mysql update语句

MySQL拾遗之数值类型溢出

巧了我就是萌 提交于 2019-12-17 09:12:22
来,考考大家一个问题,在 MySQL 中当某一列设置为 int(0) 时会发生什么 ? 为了演示这个问题,我们先要创建一个表 DROP TABLE IF EXISTS ` na ` ; CREATE TABLE ` na ` ( n1 INT ( 0 ) NOT NULL DEFAULT '0' , n2 INT ( 11 ) NOT NULL DEFAULT '0' ) ; 然后我们使用下面的语句往 na 表中插入一些数据 mysql > INSERT INTO ` na ` VALUES ( 520 , 520 ) , ( 5201314 , 5201314 ) ; Query OK , 2 rows affected ( 0.02 sec ) Records: 2 Duplicates: 0 Warnings : 0 最后我们读取出来看看 mysql > SELECT * FROM na ; + ---------+---------+ | n1 | n2 | + ---------+---------+ | 520 | 520 | | 5201314 | 5201314 | + ---------+---------+ 2 rows in set ( 0.00 sec ) 对的,好像什么都不会发生,没什么问题才是对的,我就怕有什么问题...哈哈

MySQL事务隔离级别详解

与世无争的帅哥 提交于 2019-12-17 05:20:42
前两天面试,问到了四种隔离级别,当时觉得大多数数据库都为read committed,结果没想到mysql是个例外。在此做一下隔离级别和各种数据库锁的使用。 首先说一下ACID四大特性: 四大特性 · 原子性   事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。   · 一致性    事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部 数据结构 (如 B 树索引或双向链表)都必须是正确的。某些维护一致性的责任由应用程序开发人员承担,他们必须确保应用程序已强制所有已知的完整性约束。例如,当开发用于转帐的应用程序时,应避免在转帐过程中任意移动小数点。   · 隔离性   由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。当事务可序列化时将获得最高的隔离级别。在此级别上

MySQL基础

◇◆丶佛笑我妖孽 提交于 2019-12-17 04:25:23
一、MySQL概述 1、什么是数据库 ?  答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2、什么是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ?  答:他们均是一个软件,都有两个主要的功能: a. 将数据保存到文件或内存 b. 接收特定的命令,然后对文件进行相应的操作 3、什么是SQL ?   答:MySQL等软件可以接受命令,并做出相应的操作,由于命令中可以包含删除文件、获取文件内容等众多操作,对于编写的命令就是是SQL语句。 二、MySQL安装 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 想要使用MySQL来存储并操作数据,则需要做几件事情:   a. 安装MySQL服务端   b. 安装MySQL客户端   b. 【客户端】连接【服务端】   c. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等) 下载 http://dev.mysql.com/downloads/mysql/ 安装 windows:

mysql数据库第三天

帅比萌擦擦* 提交于 2019-12-17 03:43:38
##jdbc java database connectivty ==>使用java来操作数据库 jdbc:其实就是提供了一些方法与接口(规范) ==>实现是由数据库的厂商来实现 (驱动包) 驱动包:也就是连接数据的提供的一个jar 2.jdbc 连接数据库的一个步骤 1.导入jar包 2.通过反射来加载驱动 3.得到连接对象 connection 4.得到发送sql 对象(交通工具) 5.得到返回的结果 6.关闭资源 从下往上进行关闭 注意点:所有的jar包都是导入的是 java.sql.* package com . offcn . day09 . test ; import java . sql . * ; public class Test { public static void main ( String [ ] args ) { //System.out.println("第一个java项目"); /* 2.jdbc 连接数据库的一个步骤 1.导入jar包 2.通过反射来加载驱动 3.得到连接对象 connection 4.得到发送sql 对象(交通工具) 5.得到返回的结果 6.关闭资源 从下往上进行关闭*/ Connection conn = null ; Statement sta = null ; ResultSet rs = null ; try {

MySQL学习之SQL介绍

大兔子大兔子 提交于 2019-12-17 03:23:00
目录 SQL介绍 SQL用途 SQL功能 SQL语句结构 SQL起源 SQL介绍 SQL ,又称 结构化查询语言 (Structured Query Language), 是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统 。 SQL 是一种 ANSI (American National Standards Institute 美国国家标准化组织)标准的计算机语言。 说明: 虽然 SQL 是一门 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,但是仍然存在着多种不同版本的 SQL 语言。 然而,为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。 除了 SQL 标准之外,大部分 SQL 数据库程序都拥有它们自己的专有扩展! SQL用途 SQL 面向数据库执行查询 SQL 可从数据库取回数据 SQL 可在数据库中插入新的记录 SQL 可更新数据库中的数据 SQL 可从数据库删除记录 SQL 可创建新数据库 SQL 可在数据库中创建新表 SQL 可在数据库中创建存储过程 SQL 可在数据库中创建视图 SQL 可以设置表、存储过程和视图的权限 SQL功能 SQL具有 数据定义

MySQL 中的外键

那年仲夏 提交于 2019-12-17 03:12:19
表和表之间可存在引用关系,这在抽象数据到表时,是很常见的。这种联系是通过在表中创建外键(foreign key)来实现的。 比如一个订单,可能关联用户表和产品表,以此来记录 谁 买了什么 产品 。 约定两个概念: 父表 :被引用的表。 从表 :表中有相应的外键引用 父表 中的字段。 示例: CREATE TABLE parent ( id INT NOT NULL, PRIMARY KEY (id) ) ENGINE=INNODB; CREATE TABLE child ( id INT, parent_id INT, INDEX par_ind (parent_id), FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE ) ENGINE=INNODB; 这里 parent 为父表, child 为从表。 外键关联表的同步操作 当表和表之间建立起合适的关联后, INSERT 和 UPDATE 操作会自动检查所插入的记录中指定的外键在相应表中是否存在; 建立外键时,可指定 ON UPDATE <action> 和 ON DELETE <action> 子语句来指定发生 UPDATE 和 DELETE 操作时,外键关联表中数据该如何处理。MySQL 中支持五种处理(action): CASCADE

MySQL事务隔离级别详解

落花浮王杯 提交于 2019-12-17 03:07:36
前两天面试,问到了四种隔离级别,当时觉得大多数数据库都为read committed,结果没想到mysql是个例外。在此做一下隔离级别和各种数据库锁的使用。 首先说一下ACID四大特性: 四大特性 · 原子性   事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。   · 一致性    事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部 数据结构 (如 B 树索引或双向链表)都必须是正确的。某些维护一致性的责任由应用程序开发人员承担,他们必须确保应用程序已强制所有已知的完整性约束。例如,当开发用于转帐的应用程序时,应避免在转帐过程中任意移动小数点。   · 隔离性   由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。当事务可序列化时将获得最高的隔离级别。在此级别上

MySQL基础

五迷三道 提交于 2019-12-17 00:31:05
一、MySQL概述 1、什么是数据库 ?  答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2、什么是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ?  答:他们均是一个软件,都有两个主要的功能: a. 将数据保存到文件或内存 b. 接收特定的命令,然后对文件进行相应的操作 3、什么是SQL ?   答:MySQL等软件可以接受命令,并做出相应的操作,由于命令中可以包含删除文件、获取文件内容等众多操作,对于编写的命令就是是SQL语句。 二、MySQL安装 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 想要使用MySQL来存储并操作数据,则需要做几件事情:   a. 安装MySQL服务端   b. 安装MySQL客户端   b. 【客户端】连接【服务端】   c. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等) 下载 http://dev.mysql.com/downloads/mysql/ 安装 windows:

mysql语句优化

别说谁变了你拦得住时间么 提交于 2019-12-16 23:50:23
=============================sql语句优化和索引=========================== 1.Innerjoin和左连接,右连接,子查询 A. inner join内连接也叫等值连接是,left/rightjoin是外连接。 SELECT A.id,A.name,B.id,B.name FROM A LEFT JOIN B ON A.id =B.id; SELECT A.id,A.name,B.id,B.name FROM A RIGHT JOIN ON B A.id= B.id; SELECT A.id,A.name,B.id,B.name FROM A INNER JOIN ON A.id =B.id; 经过来之多方面的证实inner join性能比较快,因为inner join是等值连接,或许返回的行数比较少。但是我们要记得有些语句隐形的用到了等值连接,如: SELECT A.id,A.name,B.id,B.name FROM A,B WHERE A.id = B.id; 推荐:能用inner join连接尽量使用inner join连接 -------------------------------------------------------------------------------------------------

MySQL查询优化

*爱你&永不变心* 提交于 2019-12-16 23:11:54
转自:http://blog.csdn.net/kevinlifeng/article/details/43233227 声明是自己学习不是原创,望大家支持原创。 Sql语句优化和索引 1.Innerjoin和左连接,右连接,子查询 A. inner join内连接也叫等值连接是,left/rightjoin是外连接。 SELECT A.id,A.name,B.id,B.name FROM A LEFT JOIN B ON A.id =B.id; SELECT A.id,A.name,B.id,B.name FROM A RIGHT JOIN ON B A.id= B.id; SELECT A.id,A.name,B.id,B.name FROM A INNER JOIN ON A.id =B.id; 经过来之多方面的证实inner join性能比较快,因为inner join是等值连接,或许返回的行数比较少。但是我们要记得有些语句隐形的用到了等值连接,如: SELECT A.id,A.name,B.id,B.name FROM A,B WHERE A.id = B.id; 推荐:能用inner join连接尽量使用inner join连接 B.子查询的性能又比外连接性能慢,尽量用外连接来替换子查询。 Select* from A where exists (select *