mysql update语句

MySQL性能优化方案

对着背影说爱祢 提交于 2019-12-29 21:39:32
欢迎访问我的个人博客:www.ifueen.com MySql性能优化策略 文章目录 MySql性能优化策略 关系型数据库的优化方案 定位慢查询 找出执行效率慢的SQL(定位慢SQL) 开启慢查询记录日志 分析Sql语句 单机优化 通过表结构设计 数据库设计三范式 存储引擎 Innodb和MyISAM的区别 索引 索引分类 复合索引使用事项: 分表 垂直分表 水平分表 SQL语句优化 DDL优化 DML优化 DQL优化 关系型数据库的优化方案 关于MySQL的优化,大体方案可以分为以下步骤 找出执行效率低的Sql 分析慢的Sql 进行优化 定位慢查询 找出执行效率慢的SQL(定位慢SQL) 首先要明白原理,实际上我们在数据库上面所做的操作都会被日志记录下来,我们在定位慢查询就需要去通过日志记录来找到到底是哪条SQL效率慢 查询数据库状态的命令 运行了多久 show status like 'uptime' ; CRUD的执行次数 show status like '%Com_select%' show status like '%Com_insert%' show status like '%Com_update%' show status like '%Com_delete%' 查询所有的连接数 show status like 'connections' 查询慢查询次数 (

mysql 使用

依然范特西╮ 提交于 2019-12-28 18:28:00
好久没用,正好实验课写报告,回顾一下。 环境:windows 路径:mysql/bin 在一个cmd中输入mysqld --console,打开mysql服务,然后mysql开启。 补充: 1.Windows下 启动服务 mysqld --console   或  net start mysql   关闭服务 mysqladmin -uroot shudown   或  net stop mysql   2.Linux下 启动服务 service mysql start    关闭服务 service mysql stop   重启服务 service restart stop   这个cmd被占用,打开一个新的cmd,输入mysql.exe -u root -p,然后输入密码 登录成功。 如果要添加用户,可以在user表里添加表项即可 mysql> use mysql; Database changed mysql> INSERT INTO user (host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'guest', PASSWORD('guest123'), 'Y', 'Y', 'Y'); Query OK, 1 row affected (0.20 sec)

mysql的基本用法

你。 提交于 2019-12-28 18:27:43
一、登陆mysql c:\Documents and Settings\Administrator>mysql -uroot -p //u是user的意思,root指根用户,p指password 或者c:\Documents and Settings\Administrator>e: //这个是通过路径登陆,输完按Enter E:\>mysql --user root --password //使用用户 root 和密码,密码这里一般不写,Enter之后在下一行写 二、查看和创建库   1、创建库 create database xuxiang; //建立名为xuxiang的库 2、查看当前使用的库  mysql>select database(); 3、查看所有的库 show databases; //databases用复数   4、使用某个库 use xuxiang; //使用名为xuxiang的库 5、给库创建用户名和密码 grant all on xuxiang.*to "beijing"@"localhost" identified by "a123"; //beijing为用户名,a123为密码,xuxiang是你库的名称   6、删除库 drop database sampled //删除sampled库 三、创建和查看库里的表 1、查看表 mysql> show

MySQL主备复制

99封情书 提交于 2019-12-28 16:06:47
文章目录 MySQL 主备原理 binlog 的 3 种格式 statement row mixed 循环复制问题 我们知道MySQL中的binlog 可以用来归档,同时也可以用来做主从同步,今天来详细介绍一下。 MySQL 主备原理 从上面流程可以看出,A 节点是主库,B 节点是从库。通常情况下从库我们会设置为 readonly ,这样可以防止因业务代码中的切换 BUG 造成 在从库写数据;同时我们也可以通过 readonly 的状态来判断,节点的主从状态。 下面我们看一下,一个 update 语句在 A、B 节点上面的数据流转。 上图包含了 binlog 和 redo log 的写入机制,备库 B 和 A 之间维持了一个长连接。主库 A 里面有一个线程,专门服务于备库 B 。一个事务的同步的完整过成如下: 在备库 B 上面通过 change master 命令,设置主库 A 的IP、端口、用户名、密码,以及需要同步主库 binlog 的位置; 在备库 B 上执行 start slave 命令,这个时候备库会启动 2 个线程,就是图中的 io_thread 和 sql_thread。其中 io_thread 负责和主库建立连接; 主库校验完成之后,开始从指定 binlog 位置读取,并传送给备库 B; 备库 B 拿到 binlog 后写到本地(relay log); sql

java连接数据库 JDBC MySQL

泄露秘密 提交于 2019-12-28 09:17:56
另:准备工作 电脑安装MySQL,安装MySQL可视化操作工具Workbench,创建好数据库。 一:连接数据库 --1--导入mysql相关jar包 :mysql-connector-jar(手动导包过程在另一文章) --2--加载驱动 --3--通过Connection类,填写待连接数据库的基本信息 package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; /** * Created by Seadragon on 2019-12-26. */ public class JdbcConnect { public static void main(String[] args) throws ClassNotFoundException { Connection connection = null; Statement statement = null; try { //初始化驱动,加载驱动 Class.forName("com.mysql.jdbc.Driver"); //Connection对象的连接,填写待连接数据库的信息。连接相关数据库 connection =

MySQL.数据处理(视图)

自作多情 提交于 2019-12-28 07:12:51
视图: 1.视图是一张虚拟表,其结构和数据是基于对表的查询基础上。 视图中是没有数据的,其数据都来自于基本表! 2.特点: (1)简化操作:将复杂查询定义为视图 (2)提高了数据的安全性:创建可控的环境,只能访问权限以内的数据,用户只能查询和修改显示的数据 (3)屏蔽数据库的复杂性:数据库管理员可以将难懂的列替换成用户易理解的 (4)数据及时更新 (5)便于数据共享 3.语法 create (or replace 【替换同名的】) view 图名 as select语句 with check option 视图中只能是一个select的完整语句!!! mysql > create or replace view v_book - > as - > select 图书名称 , 价格 , 出版社 from 图书信息 where 出版社 = 1 or 出版社 = 3 - > order by 出版社 ; Query OK , 0 rows affected mysql > select * from v_book ; + -- -- -- -- -- -- -- -- -- -- -- -- -- -- + -- -- -- + -- -- -- -- + | 图书名称 | 价格 | 出版社 | + -- -- -- -- -- -- -- -- -- -- -- -- -- -- +

mysql5.7.14安装与配置

懵懂的女人 提交于 2019-12-28 00:07:29
参考文章链接: http://jingyan.baidu.com/article/afd8f4de9006d934e286e9fd.html http://www.cnblogs.com/wenthink/p/MySQLInstall.html http://www.cnblogs.com/weiwang/p/5404952.html 设置MYSQL数据库编码为UTF-8 http://www.iteye.com/topic/1117270 1.配置文档: ####################配置文件开始################### # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [client]

MySQL用户和权限管理

牧云@^-^@ 提交于 2019-12-27 22:39:14
前言 在MySQL 5.7.24中,关于用户及用户权限的相关信息,都保存在了mysql库中的user表中,可以将user表中大致分为用户列、权限列、安全列、资源控制列这几种。 1、用户列 user表的用户列包括 Host、 User、password,分别表示主机名、用户名和密码。其中 user和 Host为user表的联合主踺。当用户与服务器之间建立连接时,输入的账户信息中的用户名称、主机名和密码必须匹配user表中对应的字段,只有3个值都匹配的时候,才允许连接的建立。这3 个字段的值就是创建账户时保存的账户信息。修改用户密码时,实际就是修改user表的password字段值。 2、权限列 权限列的字段决定了用户的权限,描述了在全局范围内允许对数据和数据库进行的操作。包括查询权限、修改权限等普通权限,还包括了关闭服务器、超级权限和加载用户等高级权限。普通权限用于操作数据库;高级权限用于数据库管理。 user表中对应的权限是针对所有用户数据库的。这些字段值的类型为 ENUM,可以取的值只能为 Y和 N, Y表示该用户有对应的权限; N表示用户没有对应的权限。查看user表的结构可以看到,这些字段的值默认都是 N。如果要修改权限,可以使用 GRANT语句或 UPDATE语句更改 user表的这些字段来修改用户对应的权限。 3、安全列 安全列只有6个字段,其中两个是 SSI相关的

MySQL事务

好久不见. 提交于 2019-12-27 21:21:52
前言: 什么是事务? 事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功,要么失败)。 MySQL的事务是在存储引擎层实现。 MySQL的事务有ACID A:原子性(atomicity):一个事务必须被视为一个不可分割的单元。 C:一致性(consistency):数据库是从一种状态切换到另一种状态。 I:隔离性(isolation):事务在提交之前,对于其他事务不可见。 D:持久性(durablity):一旦事务提交,所修改的将永久保存到数据库。 1、事务的基本语法 <!--创建表--> mysql> create table bank -> ( -> name varchar(25), -> money float -> ); Query OK, 0 rows affected (0.00 sec) mysql> insert into bank values('lu','1000'),('qi','5000'); <!--插入数据--> Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> begin; <!--begin开启事务,start transaction也可开启事务--> Query OK

mysql数据表增删改查

北城以北 提交于 2019-12-27 20:22:33
http://www.runoob.com/mysql/mysql-tutorial.html 一、MySQL 创建数据表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (column_name column_type); 以下例子中我们将在 RUNOOB 数据库中创建数据表runoob_tbl: CREATE TABLE IF NOT EXISTS `runoob_tbl`( `runoob_id` INT UNSIGNED AUTO_INCREMENT, `runoob_title` VARCHAR(100) NOT NULL, `runoob_author` VARCHAR(40) NOT NULL, `submission_date` DATE, PRIMARY KEY ( `runoob_id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8; 实例解析: 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL , 在操作数据库时如果输入该字段的数据为 NULL ,就会报错。 AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。 PRIMARY KEY关键字用于定义列为主键。