mysql update语句

MySQL之行锁

心已入冬 提交于 2020-01-15 23:19:55
前言   本章介绍行锁的相关知识。 行锁 偏向 InnoDB 存储引擎,开销大,加锁慢,会出现死锁,锁定粒度小,发生锁冲突的概率低,但并发度高。 准备   1. 创建表tb_innodb_lock,注意数据库引擎为 InnoDB 。 CREATE TABLE test_innodb_lock ( a INT (11), b VARCHAR (20) ) ENGINE INNODB DEFAULT charset = utf8; insert into test_innodb_lock values (1,'a'); insert into test_innodb_lock values (2,'b'); insert into test_innodb_lock values (3,'c'); insert into test_innodb_lock values (4,'d'); insert into test_innodb_lock values (5,'e');    2.创建索引。 create index idx_lock_a on test_innodb_lock(a); create index idx_lock_a on test_innodb_lock(b); 1.行锁定基本演示 1.打开A、B另个会话,并关闭数据库的自动提交。 set autocommit=0;

python下的MySQLdb使用

﹥>﹥吖頭↗ 提交于 2020-01-15 06:24:50
python下的MySQLdb使用 2010-12-08 18:39:02 标签: python MySQLdb mysql 数据库 休闲 下载安装MySQLdb <1>linux版本 http://sourceforge.net/projects/mysql-python/ 下载,在安装是要先安装setuptools,然后在下载文件目录下,修改mysite.cfg,指定本地mysql的mysql-config文件的路径 <2>windows版本 网上搜索到一个 http://www.technicalbard.com/files/MySQL-python-1.2.2.win32-py2.6.exe 安装后import MySQLdb会出现 DeprecationWarning: the sets module is deprecated 这样一个警告,google之 原因是2.6不知sets这个模块,不过已经添加了set内置函数。找到MySQLdb文件夹的中__init__.py,注释掉from sets import ImmutableSet class DBAPISet(ImmutableSet):添加 class DBAPISet(frozenset):;找到converters.py注释掉from sets import BaseSet, Set

Windows10安装与配置MySQL-5.7.11

末鹿安然 提交于 2020-01-15 04:17:05
Windows10安装与配置MySQL-5.7.11 注解::本博客为博主学习笔记,部分内容来源于网络,望理解。原文链接,http://www.cnblogs.com/Val1ant/p/5495572.html,转载请声明 1、下载mysql 下载地址: http://downloads.mysql.com/archives/community/ , 这里是社区免费版,免安装版(推荐)的下载地址,可以选择各种历史版本号。 选择好操作系统对应的版本并下载: 2、解压并配置系统环境变量 解压到你想安装的路径,笔者安装路径为:C:\software\mysql 进入解压目录下的bin目录, 并复制此目录 之后将该目录添加到系统path系统变量中,鼠标移到左下角--右键--系统--高级系统设置--环境变量--找到系统变量(S)中的path变量---编辑--新建 确定并退出 3、安装MySQL服务 以管理员进入dos界面,切换到解压的bin目录下,具体操作:鼠标移到左下角--右键--命令提示符(管理员)--cd C:\software\mysql\mysql-5.7.11-winx64\bin--之后的步骤见截图: mysqld install 到这一步表示安装成功,之后的命令为:初始化mysql data目录(mysql-5.7 解压后无此目录)并生成密码: mysqld -

Mysql下载与安装

我们两清 提交于 2020-01-15 04:13:33
前言:利用别人的方法、知识、经历或精神成为你自己,不思考不实践不总结不反馈,就不会变成你的。 1.下载 (1)打开 https://dev.mysql.com/downloads/mysql/ ,下拉,根据个人需求选择合适的版本,我的是Windows10 64位此次选择5.6版本 (2)单击5.6版本,往下拉,根据系统选择对应的版本,本人选择64位的,该包是免安装包,需要自己配置环境,官方给的是免安装包, 有图形化安装版可以到这个网址http:/ /www.pc6.com/softview/SoftView_41452.html下载,新手建议先使用图形化安装版 (3)单击 No thanks, just start my download. (4)弹出下载界面,自定义下载路径,然后下载 (5)解压指定的目录下,不建议放在C盘或桌面上,最好放在其他盘上 2.安装 (1)依次操作:计算机–右键–属性–高级系统设置–环境变量 (2)新建,变量名取Path,变量值即原来解压该软件的路径下的bin目录,点击确定(注意加上\bin) (3)在安装目录下新建文本,点击进去配置相关的参数,点文件另存为,文件名为my.ini,保存类型所有文件,编码ANSI,保存到安装目录下,并将其my.ini复制到 目录下 (4)注册服务 在开始处搜索框输入cmd回车,右击命令提示符,以管理员身份运行回车 输入

mysql

倾然丶 夕夏残阳落幕 提交于 2020-01-15 02:01:49
有关MySQL的知识点总结 1.相关概念 DB 数据库(database):存储数据的"仓库",它保存了一系列有组织的数据。 DBMS 数据库管理系统(Database Management System).数据库是通过DBMS创建和操作的容器。 SQL 结构化查询语言(Structure Query Language):专门用来与数据库通信的语言。 常见的数据库管理系统:Mysql Oracle DB2 sqlServer等。 Mysql是关系型数据库(c/s),是一种开放资源代码的关系型数据管理系统,适用于多种平台。 关系型数据库的特点: 1.实现数据共享,减少数据冗余 2.采用特定的数据类型 3.具有较高的数据独立性 4.具有统一的数据控制功能 sql语句: DDL:数据库定义语言, 用于库和表的创建( create )、修改、删除 。 DQL:数据库查询语句 select(查询) DML: 数据操纵语句,用于添 加、删除、修改、查询数据库记录,并检查数据完整性 ,insert(插入/添加) update(修改),delete(删除) DCL:数据控制语句, 用于定义用 户的访问权限和安全级别 。用于对数据库对象操作的权限。如grant revoke commit rollback等语句 -- 连接mysql mysql -uroot -p密码; -- 退出 exit; 或

打开黑盒:从 MySQL架构设计出发,看它是如何执行一条SQL语句的

[亡魂溺海] 提交于 2020-01-14 23:50:50
1、把MySQL当个黑盒子一样执行SQL语句 上一讲我们已经说到,我们的系统采用数据库连接池的方式去并发访问数据库,然后数据库自己其实也会维护一个连接池,其中管理了各种系统跟这台数据库服务器建立的所有连接 我们先看下图回顾一下 当我们的系统只要能从数据库连接池获取到一个数据库连接之后,我们就可以执行增删改查的SQL语句了 从上图其实我们就可以看到,我们可以通过数据库连接把要执行的SQL语句发送给MySQL数据库。 然后呢?大部分同学了解到这个程度就停下来了,然后大家觉得要关注的可能主要就是数据库里的表结构,建了哪些索引,然后就按照SQL语法去编写增删改查SQL语句,把MySQL当个黑盒子去执行SQL语句就可以了。 我们只知道执行了insert语句之后,在表里会多出来一条数据;执行了update语句之后,会对表里的数据进行更改;执行了delete语句之后,会把表里的一条数据删除掉;执行了select语句之后,会从表里查询一些数据出来。 如果语句性能有点差?没关系,在表里建几个索引就可以了!可能这就是目前行业内很多工程师对数据库的一个认知,完全当他是个黑盒子,来建表以及执行SQL语句。 但是大家既然跟着我开始学习了,从现在开始就要打破这种把数据库当黑盒子的认知程度,要深入底层,去探索数据库的工作原理以及生产问题的优化手段! 2、一个不变的原则:网络连接必须让线程来处理

mysql数据库总结

眉间皱痕 提交于 2020-01-14 18:41:18
1 、 MySQL 数据库的特点: 持久化存储 读写速度极高 保证数据的有效性 对程序支持性非常好,容易扩展。 MySQL 是一个关系型数据库,核心元素是 数据行(记录) 数据列(字段) 数据表(数据行的集合) 数据库(数据表的集合) RDBMS 主要有两种类型的数据库: 关系型数据库、非关系型数据库 2 、 SQL SQL 是结构化查询语言,是一种用来操作 RDBMS 的数据库语言,不区分大小写。 SQL 语句主要分为: DQL :数据查询语言,用于对数据进行查询。 DML :数据操作语言,对数据进行增加、修改、删除 TPL :事务处理语言,对事务进行处理 DCL :数据控制语言,进行授权与权限回收 DDL :数据定义语言,进行数据库、表的管理 CCL :指针控制语言,通过控制指针完成表的操作 3 、 MySQL MySQL 是一个关系型数据库管理系统。 数据类型 使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间。 常用数据型有: 整数: int 、 bit 小数: decimal 字符串: varchar 、 charr 日期时间: date , time , datetime 枚举类型 enum decimal 表示浮点数,如 decimal(5,2) 表示共存 5 位数,小数占 2 位 char 表示固定长度的字符串,如 char

database

守給你的承諾、 提交于 2020-01-14 18:40:18
      数据库基础 一、数据库概念    1.数据库      存储数据的仓库(逻辑概念,并未真实存在)   2.数据库软件     真实软件,用来实现数据库这个逻辑概念   3.数据仓库     数据量更加庞大,更加侧重数据分析和数据挖掘,供企业决策分析之用,主要是数据查询,修改和删除很少 二、MySQL的特点      1.关系型数据库   2.跨平台   3.支持多种编程语言(python、java、php)   4.基于磁盘存储,数据是以文件形式存放在数据库目录/var/lib/mysql下 三 启动连接 - 服务端启动 ```mysql sudo /etc/init.d/mysql start|stop|restart|status sudo service mysql start|stop|restart|status ``` - 客户端连接 ```mysql mysql -hIP地址 -u用户名 -p密码 本地连接可省略 -h 选项 四、基本sql命令   **1.库管理** ```mysqle 1、查看已有库; show databases; 2、创建库并指定字符集; create database 库名 charset utf8; 3、查看当前所在库; select database(); 4、切换库; use 库名; 5、查看库中已有表; show

20.java-JDBC连接mysql数据库详解

走远了吗. 提交于 2020-01-14 17:55:49
1.JDBC介绍 jdbc (java database connectivity) 为java开发者使用数据库提供了统一的编程接口,它由一组java类和接口组成。 JDBC需要用到的类和接口有: DriverManager、Connection、Statement、ResultSet 2. mysql-connector-java下载 本机的mysql版本是5.7.26 win32的,所以本章访问mysql都以该版本为例: 然后进入 https://dev.mysql.com/downloads/connector/j/ 下载mysql-connector-java.jar包,用于连接mysql 如下图所示,只有8.0.19版本,那我们下载它就好了,反正不管64位还是32位都能访问: 下载解压后,就有个mysql-connector-java-8.0.19.jar: 接下来就来测试,能不能访问 3.JDBC使用过程 3.1 通过DriverManager. registerDriver( Driver driver)来注册驱动程序 需要注意,new Driver的时候,需要选择com.mysql.cj.jdbc.Driver: 因为com.mysql.jdbc.Driver已经被弃用了. PS: 也可以直接将 DriverManager. registerDriver

MySQL大表优化方案

☆樱花仙子☆ 提交于 2020-01-14 10:54:46
当 MySQL 单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量: 字段 尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED VARCHAR的长度只分配真正需要的空间 使用枚举或整数代替字符串类型 尽量使用TIMESTAMP而非DATETIME, 单表不要有太多字段,建议在20以内 避免使用NULL字段,很难查询优化且占用额外索引空间 用整型来存IP 索引 索引并不是越多越好,要根据查询有针对性的创建,考虑在WHERE和ORDER BY命令上涉及的列建立索引,可根据EXPLAIN来查看是否用了索引还是全表扫描 应尽量避免在WHERE子句中对字段进行NULL值判断,否则将导致引擎放弃使用索引而进行全表扫描 值分布很稀少的字段不适合建索引,例如"性别"这种只有两三个值的字段 字符字段只建前缀索引 字符字段最好不要做主键 不用外键,由程序保证约束 尽量不用UNIQUE,由程序保证约束 使用多列索引时主意顺序和查询条件保持一致