mysql update语句

MySql事务

▼魔方 西西 提交于 2020-01-28 01:29:04
当一个业务逻辑需要多个sql完成时,如果其中某条sql语句出错,则希望整个操作都退回 使用事务可以完成退回的功能,保证业务逻辑的正确性 事务四大特性(简称ACID) 原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行 一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致 隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的 持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障 要求:表的类型必须是innodb或bdb类型,才可以对此表使用事务 使用事务的情况:当数据被修改时,包括insert、update、delete 查看表的类型(查询通过表的创建语句) show create table students; 修改表的类型 alter table '表名' engine=innodb; 事务语句 开启begin; 提交commit; 回滚rollback; begin与commit之间,所有对库修改的语句都临时在内存中保存。只要没执行commit。可以随时通过rollback回滚。 执行commit后,修改的内容固化到硬盘中。 示例1 步骤1:打开两个终端,连接mysql

win10 安装 mysql解压版安装步骤

不问归期 提交于 2020-01-27 22:23:42
参考资料:win 10 安装 mysql 5.7 网址: http://blog.sina.com.cn/s/blog_5f39af320102wbk0.html 本文参考上面的网址的教程,感谢作者分享。 我安装的是解压版,因为安装版并没有64位的,并且安装版也就是自动安装,节省了一部分配置操作, 反正是学习,就自己动手安装解压版64位。 下面我再把步骤说明一下: 1、下载,到MySQL官网: http://dev.mysql.com/ 点击Downloads=>Community=>MySQL Community Server 选中上图的版本,开始下载。 2、解压安装包 解压下载的安装包,放到你的电脑路径,我放置的是E:\mysql 3、配置my.ini文件 解压后,根目录下,有一个my-default.ini文件,这是官方的配置文件样版, 我们把这个文件拷贝一份在同一个目录,名字改为my.ini(编码格式必须是ANSI格式,其他的UTF-8等不能使用) 用txt打开编辑,把原本的说明内容清空,修改后如下:(再次说明,这是从参考网址拷贝的) 由于解压后没有.ini文件在此目录下新建my.ini文件 [mysql] #设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306

MySQL数据库

半腔热情 提交于 2020-01-27 05:36:04
* MySQL数据库 * 数据库 * 数据库就是一个文件系统,访问数据的时候需要通过标准的SQL语言来完成。 * 关系型的数据 * 保存的实体与实体之间的关系。(用户、商品、订单) * 常见的数据库 * Oracle 公司Oracle(甲骨文)数据产品,收费的大型的数据库。 * MySQL 开源的,被Oracle收购了,小型的数据库。5.x版本免费,6.x收费了。 * SQLServer 微软的,收费的中型的数据库。 * DB2 IBM公司收费的大型的数据库。 * SyBASE PowerDigener软件(非常牛)(设计数据库,进行数据库的建模) * MySQL的简介 * 卸载干净 * 找到MySQL的安装路径,找到my.ini的配置文件。 * basedir="C:/Program Files (x86)/MySQL/MySQL Server 5.5/" 安装的路径 * datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" MySQL存储数据的路径 * 通过控制面板卸载MySQL * 找到上面的两个路径,删除就ok了。 创建数据库的表结构 创建数据库采用的字符集和字符集的比较方式 * 安装了 * 安装路径不要有中文(*****) * MySQL默认端口是3306,不要修改。 * 设置MySQL的编码集(采用UTF-8的编码)

Mysql读写分离3

亡梦爱人 提交于 2020-01-27 03:32:24
主从复制 常用命令: service mysqld start 数据库启动 service iptables stop 数据库停止 mysql –u root 数据库登录 概念 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中。 假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的3306端口,通过网络发给MYSQL-B。 MYSQL-B收到后,写入本地日志系统B,然后一条条的将数据库事件在数据库中完成。 那么,MYSQL-A的变化,MYSQL-B也会变化,这样就是所谓的MYSQL的复制,即MYSQL replication。 在上面的模型中,MYSQL-A就是主服务器,即master,MYSQL-B就是从服务器,即slave。 日志系统A,其实它是MYSQL的日志类型中的二进制日志,也就是专门用来保存修改数据库表的所有动作,即bin log。【注意MYSQL会在执行语句之后,释放锁之前,写入二进制日志,确保事务安全】 日志系统B,并不是二进制日志,由于它是从MYSQL-A的二进制日志复制过来的,并不是自己的数据库变化产生的,有点接力的感觉,称为中继日志,即relay log。 可以发现,通过上面的机制,可以保证MYSQL-A和MYSQL-B的数据库数据一致,但是时间上肯定有延迟,即MYSQL-B的数据是滞后的。 【即便不考虑什么网络的因素

MyBatis全局配置文件标签详解

蓝咒 提交于 2020-01-27 00:04:54
一、全局配置文件结构 configuration 配置   properties 属性:可以加载properties配置文件的信息   settings 设置:可以设置mybatis的全局属性   typeAliases 类型命名   typeHandlers 类型处理器   objectFactory 对象工厂   plugins 插件   environments 环境     environment 环境变量       transactionManager 事务管理器       dataSource 数据源   databaseIdProvider 数据库厂商标识   mappers 映射器    1、为全局配置文件绑定dtd约束:     1)联网会自动绑定     2)没网的时候【/org/apache/ibatis/builder/xml/mybatis-3-config.dtd】:解压mybatis 的jar包然后在eclipse中绑定         window——preperances——XML Catalog ——Add——设置key为http://mybatis.org/dtd/mybatis-3-config.dtd,绑定本地文件位置location:    2、 properties属性 1   <configuration> 2     <!--

【MySQL】关于MySQL出现lock wait timeout exceeded 的解决方案

╄→尐↘猪︶ㄣ 提交于 2020-01-26 17:52:16
关于MySQL出现 lock wait timeout exceeded; try restarting transaction 的解决方案。 一、问题抛出 在做查询语句时,MySQL 抛出了这样的异常: MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => SELECT * FROM taobao_trade WHERE order_status = 1 and orderID ='2018061812306547' AND is_tran_success=0 for update ) [2] => Array ( [error] => Lock wait timeout exceeded; try restarting transaction ) [3] => Array ( [errno] => 1205 ) ) 即 Lock wait timeout exceeded; try restarting transaction 的异常,错误提示的意思,很明显,是因为这条语句被锁住了,所以释放这个锁。 二、解决方案 我们可以通过到 information_schema 中来进行查找被锁的语句。 解释: information

MySQL 性能调优之查询优化

烈酒焚心 提交于 2020-01-26 14:12:13
性能调优相关文档书籍 http://dev.mysql.com/doc/refman/5.7/en/group-by-optimization.html http://dev.mysql.com/doc/refman/5.7/en/order-by-optimization.html 《MySQL性能调优与架构设计》 SQL查询优化总结 缺失索引,查询速度差别是100倍:首先应考虑在 where 及 order by 涉及的列上建立索引 1 show index from mb_ransomrequestform; 2 ALTER TABLE mb_ransomrequestform ADD INDEX IDX_corporationid (corporationid); 3 drop index IDX_corporationid on mb_ransomrequestform; View Code 避免在 where 子句使用不能使用索引的操作符,比如!=、<>、like “%xx%”、or。否则将导致引擎放弃使用索引而进行全表扫描。 1)like “%xx%”改成like “xxx%”可以使用索引 mysql> select bill.billId from EE_PawnBill bill, EE_PawnerInfo pawner where bill.pawnerid

记录:mysql命令(简全)

我只是一个虾纸丫 提交于 2020-01-26 13:20:11
MYSQL常用命令 1.导出整个数据库 mysqldump -u 用户名 -p –default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1) mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql 3.导出一个数据库结构 mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql -d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table 4.导入数据库 A:常用source 命令 进入mysql数据库控制台, 如mysql -u root -p mysql>use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql>source wcnc_db.sql B:使用mysqldump命令 mysqldump -u username -p dbname < filename.sql C:使用mysql命令 mysql -u

记录:mysql命令(详细啰嗦)

白昼怎懂夜的黑 提交于 2020-01-26 13:04:40
1、连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1、连接到本机上的MYSQL。 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql> 2、连接到远程主机上的MYSQL。 假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令: mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样) 3、退出MYSQL命令 : exit (回车) 2、修改密码 格式:mysqladmin -u用户名 -p旧密码 password 新密码 1、给root加个密码ab12。 首先在DOS下进入目录mysql\bin,然后键入以下命令 mysqladmin -u root -password ab12 注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。 2、再将root的密码改为djg345。 mysqladmin -u root -p ab12 password

mysql的基本用法

拟墨画扇 提交于 2020-01-26 11:13:22
#登录数据库 mysql -hlocalhost -uroot -p; #修改密码 mysqladmin -uroot -pold password new; #显示数据库 show databases; #显示数据表 show tables; #选择数据库 use examples; #创建数据库并设置编码utf-8 多语言 create database `examples` default character set utf8 collate utf8_general_ci; #删除数据库 drop database examples; #创建表 create table test( id int (10) unsigned zerofill not null auto_increment, email varchar (40) not null , ip varchar (15) not null , state int (10) not null default '-1' , primary key (id) )engine=InnoDB; #显示表结构 describe #删除表 drop table test; #重命名表 alter table test_old rename test_new; #添加列 alter table test add cn int (4