mysql update语句

2 MySQL基础

痴心易碎 提交于 2020-02-11 17:14:20
1 数据库的基本概念 数据库的英文单词: DataBase 简称 : DB 什么数据库? 用于存储和管理数据的仓库。 数据库的特点: 持久化存储数据的。其实数据库就是一个文件系统 方便存储和管理数据 使用了统一的方式操作数据库 – SQL 常见的数据库软件 参见《MySQL基础.pdf》 2 MySQL数据库软件 安装 参见《MySQL基础.pdf》 卸载 去mysql的安装目录找到my.ini文件 复制 datadir=“C:/ProgramData/MySQL/MySQL Server 5.5/Data/” 卸载MySQL 删除C:/ProgramData目录下的MySQL文件夹。 配置 MySQL服务启动 手动。 cmd–> services.msc 打开服务的窗口 使用管理员打开cmd net start mysql : 启动mysql的服务 net stop mysql:关闭mysql服务 MySQL登录 mysql -uroot -p密码 mysql -hip -uroot -p连接目标的密码 mysql --host=ip --user=root --password=连接目标的密码 MySQL退出 exit quit MySQL目录结构 MySQL安装目录:basedir=“D:/develop/MySQL/” 配置文件 my.ini MySQL数据目录

Python3 MySQL 数据库连接 - PyMySQL 驱动

不想你离开。 提交于 2020-02-10 21:25:06
什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。 PyMySQL 安装 在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。 PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。 如果还未安装,我们可以使用以下命令安装最新版的 PyMySQL: $ pip install PyMySQL 数据库连接 db = pymysql.connect( host = "localhost", user = "root", password = "root", port = 3306, database = "mails" ) 数据库操作 # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 定义sql语句 sql = "select * from mail" # 使用 execute() 方法执行 SQL 查询 cursor.execute(sql) # 使用 fetchone() 方法获取单条数据. data = cursor.fetchone()

ProxySQL 基础篇

左心房为你撑大大i 提交于 2020-02-10 16:09:03
1、ProxySQL 介绍 ProxySQL 是基于 MySQL 的一款开源的中间件的产品,是一个灵活的 MySQL 代理层, 可以实现 读写分离,支持 Query 路由功能,支持动态指定某个 SQL 进行缓存,支持动态加载(无需重启 ProxySQL 服务),故障切换和一些 SQL 的过滤功能。 介绍:相关 ProxySQL 的网站 https://www.proxysql.com/ https://github.com/sysown/proxysql/wiki    2、环境准备 全新初始化的实例 IP server-id 数据库版本 备注 10.0.0.160 1603306 MySQL 8.0.18 Master(主库)+ ProxySQL2.0.8 10.0.0.161 1613306 MySQL 8.0.18 Slave1(从库) 10.0.0.162 1623306 MySQL 8.0.18 Slave2(从库) ProxySQL 2.0.x 版本支持 MGR 注: 我的 ProxySQL 和 主库放在一起的,我已近配置好了主从复制状态 。这是我的实验环境,实际环境注意实际情况。一般的代理环境结构如上图。 slave 节点的read_only=1 3、ProxySQL 安装与启动 下载 wget https://github.com/sysown/proxysql

MySQL学习(二)

房东的猫 提交于 2020-02-09 21:14:23
MySQL数据管理 1、外键 在创建表的时候增加约束 CREATE TABLE `grade`( `gradeid` INT(10) NOT NULL AUTO_INCREMENT COMMENT '年级id', `gradename` VARCHAR(50) NOT NULL COMMENT '年级名称', PRIMARY KEY (`gradeid`) )ENGINE=INNODB DEFAULT CHARSET=utf8 -- 学生表的 gradeid 字段 要去引用年级表的 gradeid -- 定义外键key -- 给这个外键添加约束 (执行引用) references 引用 CREATE TABLE IF NOT EXISTS `student` ( `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` VARCHAR(30) NOT NULL DEFAULT'匿名' COMMENT '名字', `pwd` VARCHAR(20) NOT NULL DEFAULT'123456' COMMENT '密码', `sex` VARCHAR(2) NOT NULL DEFAULT'男' COMMENT '性别', `birthdate` DATETIME DEFAULT NULL COMMENT '出生日期',

MySQL服务安全加固

我与影子孤独终老i 提交于 2020-02-09 19:46:50
转载来源 : https://help.aliyun.com/knowledge_detail/49568.html 介绍 数据库管理人员可以参考本文档进行 MySQL 数据库系统的安全配置加固,提高数据库的安全性,确保数据库服务稳定、安全、可靠地运行。 漏洞发现 您可以使用安骑士企业版自动检测您的服务器上是否存在 MySQL 漏洞问题,或者您也可以自己排查您服务器上的 MySQL 服务是否存在安全问题。 安全加固 1、帐号安全 禁止 Mysql 以管理员帐号权限运行 以普通帐户安全运行 mysqld,禁止以管理员帐号权限运行 MySQL 服务。在 /etc/my.cnf 配置文件中进行以下设置。 [ mysql . server ] user = mysql 避免不同用户间共享帐号 参考以下步骤。 a、创建用户。 mysql > mysql > insert into mysql . user ( Host , User , Password , ssl_cipher , x509_issuer , x509_sub ject ) values ( "localhost" , "pppadmin" , password ( "passwd" ) , '' , '' , '' ) ; 执行以上命令可以创建一个 phplamp 用户。 b、使用该用户登录 MySQL 服务。

Mysql 自带检测工具:show profile

筅森魡賤 提交于 2020-02-09 17:30:43
一、介绍 SHOW PROFILE 和 SHOW PROFILE S 是mysql自带的一种性能分析工具,表示当前会话过程中执行的语句资源使用信息。 注意 : SHOW PROFILE 和 SHOW PROFILE S ,在以后的版本就被取消了,改为 : Performance Schema 执行语句格式: SHOW PROFILE [type [, type] ... ] [FOR QUERY n] [LIMIT row_count [OFFSET offset]] type: { ALL : 显示所有性能信息 | BLOCK IO:显示块io操作的次数 | CONTEXT SWITCHES:显示上下文切换次数,被动和主动 | CPU:显示用户cpu时间、系统cpu时间 | IPC:显示发送和接受的消息数量 | MEMORY:暂未实现 | PAGE FAULTS:显示页错误数量 | SOURCE:显示源码中的函数名称与位置 | SWAPS:显示swap的次数 } 二、操作步骤 1、查看当前mysql版本是否支持: mysql> SELECT @@profiling; +-----------------+ | @@profiling | +-----------------+ | 1 | +-----------------+ 2、show profile默认是被禁止

面试你所要知道的:MySQL存储过程

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

mysql锁机制

大城市里の小女人 提交于 2020-02-09 07:07:11
一、相关名词 |--表级锁(锁定整个表) |--页级锁(锁定一页) |--行级锁(锁定一行) |--共享锁(S锁,MyISAM 叫做读锁) |--排他锁(X锁,MyISAM 叫做写锁) |--悲观锁(抽象性,不真实存在这个锁) |--乐观锁(抽象性,不真实存在这个锁) 二、InnoDB与MyISAM Mysql 在5.5之前默认使用 MyISAM 存储引擎,之后使用 InnoDB 。查看当前存储引擎: show variables like '%storage_engine%'; MyISAM 操作数据都是使用的表锁,你更新一条记录就要锁整个表,导致性能较低,并发不高。当然同时它也不会存在死锁问题。 而 InnoDB 与 MyISAM 的最大不同有两点:一是 InnoDB 支持事务;二是 InnoDB 采用了行级锁。也就是你需要修改哪行,就可以只锁定哪行。 在 Mysql 中,行级锁并不是直接锁记录,而是锁索引。索引分为主键索引和非主键索引两种,如果一条sql 语句操作了主键索引,Mysql 就会锁定这条主键索引;如果一条语句操作了非主键索引,MySQL会先锁定该非主键索引,再锁定相关的主键索引。 InnoDB 行锁是通过给索引项加锁实现的,如果没有索引,InnoDB 会通过隐藏的聚簇索引来对记录加锁。也就是说:如果不通过索引条件检索数据,那么InnoDB将对表中所有数据加锁

在亚马逊Red Hat 7.1 linux上安装mysql

和自甴很熟 提交于 2020-02-09 04:01:15
安装前检查之前是否安装并卸载之前的和删除关联文件 rpm -qa|grep mysql yum remove mysql mysql-server mysql-libs mysql-common //在线删除 rpm -e mysql57-community-release-el7-9.noarch // 普通删除模式 rm -rf /var/lib/mysql rm /etc/my.cnf 软件卸载完毕后如果需要可以删除mysql的数据库: rm -rf /var/lib/mysql 在线安装方式 1.一开始是通过这个命令来直接安装的: yum install mysql mysql-server mysql-devel 提示: 安装mysql和mysql-devel都成功,但是安装mysql-server失败 解决方式 : 第一种:用*MariaDB*来代替 第二种:就是从官网上下载安装 wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm //下载YUM库 yum localinstall -y mysql57-community-release-el7-7.noarch.rpm //安装YUM库 yum install -y mysql-community-server /

mysql binlog 设置日志大小 保存时间

我的梦境 提交于 2020-02-08 12:37:51
//本内容主要参考自 https://www.cnblogs.com/kevingrace/p/5907254.html 原文中包含如何恢复数据等操作 环境是centos 面板宝塔 使用命令行进入mysql的root //设置文件大小,单位是字节,下面换算是100M set global max_binlog_size=104857600; //设置文件保存天数,下面是保存7天 set global expire_logs_days = 7; 常用命令,前提都是在进入root账户后 查看binlog日志是否开启 mysql> show variables like 'log_%'; +---------------------------------+---------------------+ | Variable_name | Value | +---------------------------------+---------------------+ | log_bin | ON | | log_bin_trust_function_creators | OFF | | log_bin_trust_routine_creators | OFF | | log_error | /var/log/mysqld.log | | log_output | FILE | | log