mysql update语句

MySQL SQL优化

匆匆过客 提交于 2020-01-20 15:47:38
SQL优化大全 索引优化 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=0 3.应尽量避免在 where 子句中使用!=或<>操作符,否则引擎将放弃使用索引而进行全表扫描。 4.应尽量避免在 where 子句中使用or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num=10 or num=20可以这样查询:select id from t where num=10 union all select id from t where num=20 http://5.in 和 not in 也要慎用,否则会导致全表扫描,如:select id from t where num in(1,2,3) 对于连续的数值,能用 between 就不要用 in 了:select id from t where num between 1 and 3 6

简单的mysql使用

浪子不回头ぞ 提交于 2020-01-20 06:28:29
mysql 的连接 mysql -u 用户名 -p直接加密码 或者mysql -u 用户名 -p 密码换行输入 -h 数据库IP地址,默认127, localhost -P 端口号 phpmyadmin 部分文件说明 mysqladmin.exe 可以用来重置密码日常管理命令 mysqld mysql重启关闭开启 mysql 用来操作数据库 msyqlimport -u root -pPassword [–local] dbname filename.txt [OPTION] 导入数据库 查看所有数据库 show databases; 使用数据库 use 数据库名; 查看当前数据库表名 show tables; 在选择数据库之后查看表名 添加数据: insert into 表名 values("值","值2");// 前提是表里面有两个字段,字段1对应 值,字段2对应 值2 或者 insert into 表名 (字段)values("值"); insert into admin (username,password) values("admin","123"); insert into admin (username) values("user"); // 添加的数据要一一对应 查询数据: select * from 表名; select * from admin where

MySQL存储过程详解 mysql 存储过程

旧时模样 提交于 2020-01-20 05:39:49
mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言 SQL 语句在执行的时候需要要先编译,然后执行,而存储过程( Stored Procedure )是一组为了完成特定功能的 SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有 SQL 语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。 存储过程通常有以下优点: (1). 存储过程增强了 SQL 语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 (2). 存储过程允许标准组件是编程。存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的 SQL 语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。 (3). 存储过程能实现较快的执行速度。如果某一操作包含大量的 Transaction-SQL 代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化

centos7安装mysql5.6

天大地大妈咪最大 提交于 2020-01-20 03:56:41
环境 CentOS 7.1 (64-bit system) MySQL 5.6.24 CentOS 安装 参考: http://www.waylau.com/centos-7-installation-and-configuration/ 依赖 MySQL 依赖 libaio,所以先要安装 libaio yum search libaio # 检索相关信息 yum install libaio # 安装依赖包 成功安装,提示如下: [root@bogon /]# yum install libaio 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.yun-idc.com * extras: mirrors.163.com * updates: mirrors.163.com 软件包 libaio-0.3.109-12.el7.x86_64 已安装并且是最新版本 无须任何处理 检查 MySQL 是否已安装 yum list installed | grep mysql 如果有,就先全部卸载,命令如下: yum -y remove mysql-libs.x86_64 若有多个依赖文件则依次卸载。当结果显示为 Complete!即卸载完毕。 下载 下载 MySQL Yum

MySQL存储过程详解(转)

荒凉一梦 提交于 2020-01-20 01:21:10
1. 存储过程简介 我们常用的操作数据库语言 SQL 语句在执行的时候需要要先编译,然后执行,而存储过程( Stored Procedure )是一组为了完成特定功能的 SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有 SQL 语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。 存储过程通常有以下优点: (1). 存储过程增强了 SQL 语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 (2). 存储过程允许标准组件是编程。存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的 SQL 语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。 (3). 存储过程能实现较快的执行速度。如果某一操作包含大量的 Transaction-SQL 代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划

利用Jmeter操作MySQL数据库

▼魔方 西西 提交于 2020-01-19 23:07:32
今天我们学习下如何利用Jmeter连接并操作MySQL数据库。 准备工作 首先,需要准备数据库及表,且保证能够正常访问,以下是本文用到的数据: 接着,我这里的MySQL版本为 5.7,为了使Jmeter连接MySQL,需要借助MySQL的JDBC驱动jar包,直接到官网下载即可。 下载地址: https://dev.mysql.com/downloads/connector/j/ 下载之后解压,并将里面的jar包复制到Jmeter的 lib 目录下。 做完以上工作,重启Jmeter即可。 JDBC Connection Configuration 启动Jmeter,在测试计划下,新建线程组,然后添加配置元件: JDBC Connection Configuration ,设置如下: 一般情况下,我们填写上面几个内容,其他保持默认即可。 JDBC Request 在线程组下,新建取样器: JDBC Request ,设置如下: Query Type: 一般的查询选用 Select Statement ;如果是增删改操作,则选用 Update Statement ;如果 Query 内容中有既有查询语句,又有增删改语句,则选用 Callable Statement ;如果SQL语句中有变量,则选用 Prepared Select Statement 或 Prepared Update

mysql基础篇-archive引擎

醉酒当歌 提交于 2020-01-19 20:03:01
1.archive 引擎特点 Archive引擎作用:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。 优点: 1. 可以压缩 :以zlib对表数据进行压缩,磁盘I/O更少,数据存储在ARZ为后缀的文件中。 2. 存储空间小 :Archive表比MyISAM表要小大约75%,比支持事务处理的InnoDB表小大约83%。 3. 插入数据性能好 :当表内的数据达到1.5GB这个量级,CPU又比较快的时候,Archive表的执行性能就会超越MyISAM表。因为这个时候,CPU会取代I/O子系统成为性能瓶颈。别忘了Archive表比其他任何类型的表执行的物理I/O操作都要少。 4. 数据迁移简单 :Archive表可以方便地移植到新的MySQL环境,你只需将保存Archive表的底层文件复制过去就可以了。 5. 支持行锁 :Archivec存储引擎使用行锁来实现高并发插入操作 6. 支持分区 :Archive存储引擎支持分区 缺点 1. 不支持索引 :archive引擎不支持索引。 2. 不支持更新 :archive引擎不支持更新,删除。 3. 不支持事务 :archive引擎不支持事务。 2. 存储 每个archive表在磁盘上存在两个文件:.frm(存储表定义).arz(存储数据) 往archive表插入的数据会经过压缩

MySql笔记(一)

假装没事ソ 提交于 2020-01-19 18:37:41
目录 MySql笔记(一) 每天给自己一个希望,努力做好自己,不为明天烦恼,不为昨天叹息。当梦想还在,告诉自己:努力,就总能遇见更好的自己! MySql笔记(一) 1、创建数据库以及删除 1.创建数据库语法:(命令行窗口操作) CREATE DATABASE DATABASENAME 示例:创建名为MySQLTest的数据库 CREATE DATABASE MySQLTest; 2.删除数据库语法:(命令行窗口操作) DROP DATABASE DATABASENAME 示例:删除名为MySQLTest的数据库 DROP DATABASE MySQLTest; 2、Sql常用数据类型 1.整数类型:tinyint(微小的整数),smallint(小的整数),int(普通的整数),bigint(大的整数) 存储的空间不同:tinyint只有一个字节,smallint有两个字节,int有四个字节,bigint有8个字节 2.小数点的数据类型:定点数(decimal(p,s))和浮点数float(p,s)四个字节,double(p,s)八个字节。 定点数的小数点是固定的,而浮点数的小数点是不固定的,区别:定点数的小数点是固定的所以他的小数精度准确, 而浮点数的小数点是不固定的,所以浮点数的小数点的精度没有定点数的精度准确度高。但是浮点数表示的范围更大 3.日期/时间类型:date

Django自带mysql orm操作插入外键的正确打开方式

会有一股神秘感。 提交于 2020-01-19 16:50:57
在给网站数据库优化的过程中,需要给几张表增加外键限制,方便管理员界面的联表操作。 调研发现,网上提供的几种models的配置都不能让我的插入程序成功运行,在经过尝试之后总结出了一个终极解决方案。 我的环境:Django==2.1.7,Python==3.6.1 我建表一般先过Navicat这种可视化软件来生成mysql数据库,所以我们直接在建表之后使用下面语句直接生成。 python manage.py inspectdb > app/models.py // 'app' 是我项目名称 生成的models.py部分代码: class InfoUpload(models.Model): # 子表 upload_id = models.AutoField(primary_key=True) contact_email = models.ForeignKey('InfoUser', model.DO_NOTHING, db_column='contact_email') class Meta: managed = False db_table = 'info_upload' class InfoUser(models.Model): # 主表 user_id = models.AutoField(primary_key=True) contact_email = models

MySQL——JDBC

爱⌒轻易说出口 提交于 2020-01-19 16:47:22
1、数据库驱动 驱动:声卡,显卡、数据库 我们的程序会通过 数据库 驱动,和数据库打交道! 2、 JDBC SUN 公司为了简化 开发人员的(对数据库的统一)操作,提供了一个(Java操作数据库的)规范,俗称 JDBC 这些规范的实现由具体的厂商去做~ 对于开发人员来说,我们只需要掌握 JDBC 接口的操作即可! java.sql javax.sql 还需要导入一个数据库驱动包 mysql-connector-java-5.1.47.jar 3、第一个JDBC 程序 创建测试数据库 CREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general_ci; USE jdbcStudy; CREATE TABLE users( id INT PRIMARY KEY, NAME VARCHAR(40), PASSWORD VARCHAR(40), email VARCHAR(60), birthday DATE ); INSERT INTO users(id,NAME,PASSWORD,email,birthday) VALUES(1,'zhansan','123456','zs@sina.com','1980-12-04'), (2,'lisi','123456','lisi@sina.com','1981-12-04'