mysql update语句

MySQL 命令基本操作 (持续更新)

廉价感情. 提交于 2020-02-28 01:05:28
mysql> CREATE DATABASE text; – 创建text数据库 Query OK, 1 row affected (0.01 sec) mysql> CREATE DATABASE IF NOT EXISTS text; – 创建text数据库如果他不存在 Query OK, 1 row affected, 1 warning (0.01 sec) mysql> DROP DATABASE text; – 删除text数据库 Query OK, 0 rows affected (0.02 sec) mysql> DROP DATABASE IF EXISTS text; – 删除text数据库如果他存在 Query OK, 0 rows affected, 1 warning (0.01 sec) mysql> CREATE DATABASE text CHARACTER SET gbk; – 创建text数据库并制定字符集为gbk Query OK, 1 row affected (0.01 sec) mysql> SHOW DATABASES; – 显示数据库 Database information_schema mysql performance_schema shop text 5 rows in set (0.01 sec) mysql> SHOW

MySQL——触发器

自闭症网瘾萝莉.ら 提交于 2020-02-27 11:27:51
MySQL语句在需要执行时被执行,存储过程也是如此。但是,如果想要某些SQL在事件发生时自动执行,这就需要触发器。 基本语法 //创建触发器 CREATE TRIGGER name //删除触发器 DROP TRIGGER name 创建触发器 在创建触发器时需要给出4条信息 唯一的触发器名 触发器需要关联的表 触发器应该响应的活动(DELETE、INSTERT或UPDATE) 触发器何时执行(处理之前还是之后) 删除触发器 为了删除一个触发器,可以使用DROP TRIGGER 语句。如下所示 使用触发器 INSERT触发器 INSERT触发器在INSERT语句执行之前或之后执行。需要知道以下几点: 在INSERT触发器代码内,可以用一个名为NEW的虚拟表,访问被插入的行 在BEFORE INSERT触发器中,NEW中的值也可以被更新(允许更改被插入的值) 对于AUTO_INCREMENT列,NEW在INSERT执行前包含0,在INSERT执行之后包含新的自动生成值 DELETE触发器 DELETE触发器在DELETE语句执行之前或之后执行。需要知道以下两点 在DELETE触发器代码中,可以引用一个名为OLD的虚拟表,访问被删除的行 OLD中的值全都是只读的,不能更新 UPDATE触发器 UPDATE触发器在UPDATE语句执行之前或之后执行。需要知道以下几点

MySQL之数据库优化

人走茶凉 提交于 2020-02-27 04:39:10
Mysql数据库的优化技术 对mysql优化是一个综合性的技术,主要包括 •表的设计合理化(符合3NF) •添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引] •分表技术(水平分割、垂直分割) •读写[写: update/delete/add]分离 •存储过程 [模块化编程,可以提高速度] •对mysql配置优化 [配置最大并发数my.ini, 调整缓存大小 ] •mysql服务器硬件升级 •定时的去清除不需要的数据,定时进行碎片整理(MyISAM) 数据库优化工作 对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要。一般来说,要保证数据库的效率,要做好以下四个方面的工作: ① 数据库设计 ② sql语句优化 ③ 数据库参数配置 ④ 恰当的硬件资源和操作系统 此外,使用适当的存储过程,也能提升性能。 这个顺序也表现了这四个工作对性能影响的大小 数据库表设计 通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就必须通俗地理解三个范式(通 俗地理解是够用的理解,并不是最科学最准确的理解): 第一范式:1NF是对属性的原子性约束,要求属性(列)具有原子性,不可再分解;(只要是关系型数据库都满足1NF) 第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;

JDBC简单连接MySQL

柔情痞子 提交于 2020-02-26 23:31:21
使用JAVA连接数据库的几个步骤 加载驱动类 DriverManager接口:JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序 并在数据库和相应的驱动程序间建立连接。 Class.forName(“com.mysql.cj.jdbc.Driver”) 建立连接对象(Connection) 连接对象内部包含了Socket对象,远程连接,比较耗时,Connection对象管理要点 为了提高效率,一般使用连接池来管理连接对象 需要用到的参数:url,登陆用户,登陆密码 Connction conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/数据库名?serverTimezone = GMT”,“root”,“gyx814930895”); 传入sql语句和设置参数 Statement—>(继承)PreParedStatement(带参数的sql语句) -->(继承)CallableStatement(调用存储过程) 1)Statement .createStatement()来获得Statement对象 .execute(sql语句)执行语句,返回是否有结果集 .executeQuery()运行select语句,返回ResultSet结果集 .executeUpdate() 运行insert

MySQL 中间件 - DBLE 简单使用

假装没事ソ 提交于 2020-02-26 23:04:55
DBLE 是企业级开源分布式中间件,江湖人送外号 “MyCat Plus”;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到了社区的大力支持; 环境准备 DBLE项目资料 DBLE官方网站:https: //opensource.actionsky.com 可以详细了解DBLE的背景和应用场景,本文不涉及到的细节都可在官方文档获得更细节都信息;对于刚了解到同学,可以以本文为快速入门基础 DBLE官方项目:https: //github.com/actiontech/dble 如对源码有兴趣或者需要定制的功能的可以通过源码编译 DBLE下载地址:https: //github.com/actiontech/dble/releases 建议下载最新的releases版本,下载tar压缩包即可,如有源码编译需求的,可以下载源码包 DBLE社区交流: 669663113 安装JDK环境 DBLE是使用java开发的,所以需要启动dble需要先在机器上安装java版本1.8或以上,并且确保JAVA_HOME参数被正确的设置; 这里通过yum源的方式安装了openjdk,同学们可以自行google jdk的几百种安装方式,这里不在赘述; # yum install java-1.8.0-openjdk 确认java环境已配置完成 # java -version openjdk

MYSQL 数据库基本操作

心已入冬 提交于 2020-02-26 22:18:17
插入数据 在建立一个空的数据库和数据表时,首先需要考虑的是如何向数据表中添加数据,该操作可以使用INSERT语句来完成。使用INSERT语句可以向一个已有数据表插一个新行,也就插入一行新记录。 在MySQL中,INSERT语句有3种语法格式,分别是INSERT... VALUES语句、INSERT... SET语句和INSERT... SELECT语句。 使用INSERT... VALUES语句插入数据 使用INSERT... VALUES语句插入数据,是INSERT语句的最常用的语法格式。 语法格式如下: INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] 数据表名 [(字段名,...)] VALUES ({值 | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE 字段名=表达式, ... ] 例子: create database test; #创建库 use test; #进入库 create table info (id int not null,name char(16),score decimal(5,2),age int(8)); #创建表 插入测试数据 insert into info (id,name,score,age)values(1,

mysql ddl语句

一个人想着一个人 提交于 2020-02-26 22:09:42
sql语言分为三个级别。 1、ddl 语句 ,数据定义语句,定义了数据库、表、索引等对象的定义。常用语句包含:create、drop、alter。 2、dml 语句 ,数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用语句包含insert、delete、update、select等。 3、dcl语句,数据控制语句,用于控制不同数据对象访问级别的语句。定义了数据库、表、表、用户的访问权限和完全级别。常用的语句包括grant、revoke等。 DDL语句: 1、建库、删库: 建库:create database db名 default charset=utf8; 删库:drop database db名; 2、 表操作 2.1 建表1: create table table_name(col1 type1 [not null] [primary key],col2 type2 [not null]) 如: create table person_info ( person_id smallint(5) unsigned auto_increment, name varchar(50) not null comment 'person_name', country varchar(60) default 'china', salary decimal(10,2)

MYSQL 数据库基本操作

二次信任 提交于 2020-02-26 18:05:54
插入数据 在建立一个空的数据库和数据表时,首先需要考虑的是如何向数据表中添加数据,该操作可以使用INSERT语句来完成。使用INSERT语句可以向一个已有数据表插一个新行,也就插入一行新记录。 在MySQL中,INSERT语句有3种语法格式,分别是INSERT... VALUES语句、INSERT... SET语句和INSERT... SELECT语句。 使用INSERT... VALUES语句插入数据 使用INSERT... VALUES语句插入数据,是INSERT语句的最常用的语法格式。 语法格式如下: INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] 数据表名 [(字段名,...)] VALUES ({值 | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE 字段名=表达式, ... ] 例子: create database test; #创建库 use test; #进入库 create table info (id int not null,name char(16),score decimal(5,2),age int(8)); #创建表 插入测试数据 insert into info (id,name,score,age)values(1,

mysql数据实时同步到Elasticsearch

北城余情 提交于 2020-02-26 17:33:00
mysql数据实时同步到Elasticsearch bellengao 关注 32018.06.20 18:20:43字数 1,456阅读 34,146 业务需要把mysql的数据实时同步到ES,实现低延迟的检索到ES中的数据或者进行其它数据分析处理。本文给出以同步mysql binlog的方式实时同步数据到ES的思路, 实践并验证该方式的可行性,以供参考。 mysql binlog日志 mysql的binlog日志主要用于数据库的主从复制与数据恢复。binlog中记录了数据的增删改查操作,主从复制过程中,主库向从库同步binlog日志,从库对binlog日志中的事件进行重放,从而实现主从同步。 mysql binlog日志有三种模式,分别为: ROW: 记录每一行数据被修改的情况,但是日志量太大 STATEMENT: 记录每一条修改数据的SQL语句,减少了日志量,但是SQL语句使用函数或触发器时容易出现主从不一致 MIXED: 结合了ROW和STATEMENT的优点,根据具体执行数据操作的SQL语句选择使用ROW或者STATEMENT记录日志 要通过mysql binlog将数据同步到ES集群,只能使用ROW模式,因为只有ROW模式才能知道mysql中的数据的修改内容。 以UPDATE操作为例,ROW模式的binlog日志内容示例如下: SET TIMESTAMP

MySQL使用ProxySQL实现读写分离

本秂侑毒 提交于 2020-02-26 16:04:18
1 ProxySQL简介: ProxySQL是一个高性能的MySQL中间件,拥有强大的规则引擎。 官方文档: https://github.com/sysown/proxysql/wiki/ 下载地址: https://github.com/sysown/proxysql/releases/ 2 环境: 系统:CentOS7.5 ProxySQL版本:proxysql-1.4.8-1-centos7.x86_64.rpm Mysql版本:MySQL 5.7.22 ProxySQL主机IP:192.168.1.101 Mysql主库IP:192.168.1.102 Mysql从库IP:192.168.1.103 3 前提条件: 防火墙和selinux已关闭; Mysql主从同步已经配置完成; 4 安装ProxySQL: 4.1 安装 # 配ProxySQL源 [root@ProxySQL ~]# cat <<EOF | tee /etc/yum.repos.d/proxysql.repo [proxysql_repo] name= ProxySQL baseurl=http://repo.proxysql.com/ProxySQL/proxysql-1.4.x/centos/\$releasever gpgcheck=1 gpgkey=http://repo.proxysql.com