mysql update语句

理解MySQL——架构与概念

末鹿安然 提交于 2020-03-20 18:28:59
写在前面:最早接触的MySQL是在三年前,那时候MySQL还是4.x版本,很多功能都不支持,比如,存储过程,视图,触发器,更别说分布式事务等复杂特性了。但从5.0(2005年10月)开始,MySQL渐渐步入企业级数据库的行列了;复制、集群、分区、分布式事务,这些企业级的特性,使得现在的MySQL,完全可以应用于企业级应用环境(很多互联网公司都用其作为数据库服务器,尽管节约成本是一个因素,但是没有强大功能作后盾,则是不可想象的)。虽然,MySQL还有很多不足,比如,复制、分区的支持都十分有限、查询优化仍需要改进,但是MySQL已经是一个足够好的DBMS了,更何况它是opensource的。这段时间没有事,出于好奇,略微的研究了一下MySQL,积累了一些资料,欲总结出来。这些资料打算分为两部分,上部主要讨论MySQL的优化,其中主要参考了《MySQL Manual》和《High Performance MySQL》,如果有时间,以后在下部分析一下MySQL的源码。如果你是MySQL高手,希望你不吝赐教;如果你是新手,希望对你有用。 第一章、MySQL架构与概念 1、MySQL的逻辑架构 最上面不是MySQL特有的,所有基于网络的C/S的网络应用程序都应该包括连接处理、认证、安全管理等。 中间层是MySQL的核心,包括查询解析、分析、优化和缓存等。同时它还提供跨存储引擎的功能

Mysql忘记密码后的解决办法

感情迁移 提交于 2020-03-20 13:53:04
3 月,跳不动了?>>> [windows] 1、停止 mysql 服务:打开命令行窗口CMD,Net stop mysql 2、用另外一种方式启动Mysql:在命令行进入到mysql的 安装 路径下的bin目录下使用mysqld-nt.exe启动:mysqld-nt --skip-grant-tables 注意:此时CMD窗口不能关闭。 3、进入Mysql:另外打开一个命入令行窗口,在bin目录下执行mysql,此时无需输入密码即可进入。 >use mysql >update user set password=password("new_pass") where user="root"; >flush privileges; >exit 注意:1)如果对sql语句熟悉的话,update这句就不用解释了第一个User是表名、第二个User是表中的字段。第一个Password是表中的字段,第二个Password()是加密用的函数。new_pass是要更改的密码。 2)flush privileges可以不用添加。但是如果添加了,一定要注意Host字段不能是Localhost。因为用了这个之后就不能用Localhost连接了。你可以把这个字段改成IP,或者通配符。 >update user set host="192.168.0.1" where user="root" 4

linux mysql忘记密码

限于喜欢 提交于 2020-03-20 13:46:53
3 月,跳不动了?>>> 1. 检查 mysql 服务是否启动,如果启动,关闭 mysql 服务 运行命令: ps -ef | grep -i mysql 如果开着就运行关闭的命令:service mysqld stop 2.修改mysql的配置文件my.conf 一般在/etc目录下,运行命令:vi /etc/my.cnf,编辑文件 在文件的 [mysqld]标签下添加一句: skip-grant-tables 然后wq!保存退出。 3.重启数据库 运行命令:service mysqld start 4.重启数据库 运行命令:service mysqld start 5.进入到mysql数据库 运行命令: mysql -u root 6.进入到mysql数据库 运行命令: mysql -u root 7.修改密码 运行语句: use mysql; 继续运行语句: update mysql.user set authentication_string=password( 'root_password' ) where user= 'root' ; root_password 替换成你想要的密码 8.把步骤2加的东西删除掉,在重启服务器,就可以使用刚才修改的密码登录进服务器了。 mysql -u root -p 到这一步已经全部结束。 来源: oschina 链接: https:/

MyCat基本知识

谁都会走 提交于 2020-03-20 13:38:39
MyCat基本知识 一.Mycat基本元素 1.逻辑库,mycat中存在,对应用来说相当于mysql数据库,后端可能对应了多个物理数据库,逻辑库中不保存数据 2.逻辑表,逻辑库中的表,对应用来说相当于mysql的数据表,后端可能对应多个物理数据库中的表,也不保存数据 逻辑表分类 1.分片表,进行了水平切分的表,具有相同表结构但存储在不同数据库中的表,所有分片表的集合才是一张完整的表 2.非分片表,垂直切分的表,一个数据库中就保存了一张完整的表 3.全局表,所有分片数据库中都存在的表,如字典表,数量少,由mycat来进行维护更新 4.ER关系表,mycat独有,子表依赖父表,保证在同一个数据库中 二.安装mycat 1.配置环境变量 export JAVA_HOME=/usr/lib/jdk1.8.0_20 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JER_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JER_HOME/bin:$PATH:/usr/local/mycat/bin export MYCAT_HOME=/usr/local/mycat export ZOOKEEPER_HOME=/usr/ local/zookeeper-3.4

Mysql-01.安装和配置(重新整理)

故事扮演 提交于 2020-03-20 13:21:45
3 月,跳不动了?>>> Windows操作系统下安装和配置 一、Mysql安装 Window系统下Mysql安装文件分为msi和zip格式,其中msi格式可以直接点击安装,按照安装提示进行安装配置即可,zip格式的则需要解压,解压完毕后需要手工配置才可以正常运行。 二、Mysql配置 ZIP版本的Mysql下载到本地后,直接解压即安装完毕。如解压路径为D:\Program Files\MySql,则Msql的配置和启动路径就在D:\Program Files\MySql\bin目录下。 配置默认的环境变量:将D:\Program Files\MySql\bin加入系统的环境变量Path中; 1.修改mysql默认配制信息 将my-default.ini修改为my.ini,修改my.ini内容,添加如下信息 basedir=D:\Program Files\MySql //Mysql程序目录 datadir=D:\Program Files\MySql\data //数据库存放目录 port=3306 //端口号 [mysql] default-character-set=utf8 //默认字符集(和下面的不一样) [mysqld] character-set-server=utf8 //默认字符集(和上面的有区别) 2.安装mysql服务 用管理员身份启动命令行窗口

MySQL 用户管理及权限管理

两盒软妹~` 提交于 2020-03-20 07:36:01
MySQL 默认有个 root 用户,但是这个用户权限太大,一般只在管理数据库时候才用。如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接。 在 MySQL 命令行模式下输入如下命令可以为 MySQL 创建一个新用户: CREATE USER username IDENTIFIED BY 'password'; 新用户创建完成,但是此刻如果以此用户登陆的话,会报错,因为我们还没有为这个用户分配相应权限,分配权限的命令如下: GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password'; 授予 username 用户在所有数据库上的所有权限。 如果此时发现刚刚给的权限太大了,如果我们只是想授予它在某个数据库上的权限,那么需要切换到 root 用户撤销刚才的权限,重新授权: REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'localhost'; GRANT ALL PRIVILEGES ON wordpress.* TO 'username'@'localhost' IDENTIFIED BY 'password'; 甚至还可以指定该用户只能执行 select 和 update 命令: GRANT SELECT,

MySQL用户

ぐ巨炮叔叔 提交于 2020-03-20 07:34:48
创建用户 在对 MySQL 的日常管理和实际操作中,为了避免用户恶意冒名使用 root 账号控制数据库,通常需要创建一系列具备适当权限的账号,应该尽可能地不用或少用 root 账号登录系统,以此来确保数据的安全访问。 可以使用 CREATE USER 语句来创建一个或多个 MySQL 账户,并设置相应的口令。 语法格式: CREATE USER <用户名> [ IDENTIFIED ] BY [ PASSWORD ] <口令> 语法说明如下: 1) <用户名> 指定创建用户账号,格式为 'user_name'@'host_name'。这里 user_name 是用户名, host_name 为主机名,即用户连接 MySQL 时所在主机的名字。若在创建的过程中,只给出了账户的用户名,而没指定主机名,则主机名默认为“%”,表示一组主机。 2) PASSWORD 可选项,用于指定散列口令,即若使用明文设置口令,则需忽略 PASSWORD 关键字;若不想以明文设置口令,且知道 PASSWORD() 函数返回给密码的散列值,则可以在口令设置语句中指定此散列值,但需要加上关键字 PASSWORD 。 3) IDENTIFIED BY子句 用于指定用户账号对应的口令,若该用户账号无口令,则可省略此子句。 4) <口令> 指定用户账号的口令,在 IDENTIFIED BY 关键字或

MySQL函数库

江枫思渺然 提交于 2020-03-20 07:33:00
MySQL函数库,这个函数库是一个外部函数库!这个函数提供了对于MySQL数据库进行操作的常用函数,如连接MySQL服务器、打开数据库、执行SQL语句等。所以这个函数库的功能对于我们来说是非常重要的! 其实,MySQL数据库是整个程序开发的最底层,我们在程序开发时,就必须为其添加一层漂亮的外衣,这层漂亮的外衣就是图形化用户界面(Graphical User Interface,简称GUI,又称图形用户接口),也就是使用者只需要具体基本的计算机知识,然后通过鼠标,就可以实现某些复杂的功能!其实,我们现在所使用的Windows操作系统就是典型的GUI! 1. mysql_connect 功能:建立到MySQL服务器的连接 语法:[$变量名称=]mysql_connect(“服务器名称:端口”,”用户名”,”密码”); 如果正确的连接到了MySQL服务器,则返回值的数据类型为资源(resource),否则将返回布尔型false 2. mysql_select_db 功能:打开指定数据库 语法:[$变量名称=]mysql_select_db(“数据库名称”[,连接标识符]); 如果省略连接标识符,则默认情况下使用刚刚打开的服务器连接 3. mysql_query 功能:执行MySQL命令 语法:[$变量名称=]mysql_query(“SQL命令”[,连接标识符]); 如果省略连接标识符

MySQL学习笔记10:修改数据

∥☆過路亽.° 提交于 2020-03-20 07:31:03
数据库通过插入、更新和删除等方式来该表表中的记录,其中 insert 语句实现插入数据 update 语句实现更新数据 delete 语句实现删除数据 参考表 插入数据 不指定字段名插入 mysql> insert into person values(1,'张三','男',1988); Query OK, 1 row affected, 1 warning (0.03 sec) insert into后面是表名,values后面是需要插入的数据 values中的数据必须与字段名相匹配,如第一字段为空值则输入null,尾部可不输入 需要注意的是,字符串数据必须用引号包裹 指定字段名插入 mysql> insert into person(id,name,sex,birth) values(6,'王芳','女',1992); Query OK, 1 row affected, 1 warning (0.05 sec) insert into 后面接表名和字段,此处的字段可调整位置 但一个必要条件是后面的values值必须与其字段对应 同时插入多条数据 mysql> insert into person(id,name) values(8,'钱名'),(9,'章硕'); Query OK, 2 rows affected (0.04 sec) Records: 2 Duplicates

MySQL:性能优化之数据类型,SQL,八种连接

南笙酒味 提交于 2020-03-19 17:52:54
一、mysql数据类型优化原则 (1) 能够使用最小数据类型存储时,尽量使用最小数据类型存储(前提是要评估字段值的真实数据存储范围)      eg:create table aaa(id1 int(10) zerofill,id2 int (10));  (1) int(n) 中的 n代表宽度,表示没有设定宽度的时候,用0填充,需要配合zerofill来使用。 eg: insert into aaa values(12,11); (2) varchar 存储变长的字符串,即根据存入的值的长度来动态变化 存储空间:   非空:65533字节   可空:65532字节 优点:节省空间,操作简单 缺点:在update的时候,如果数据的长度变化了,就会去申请空间,从而有额外的工作,对性能有影响。 应用场景:1.字符串最大长度比平均真实值大的比较多,这个时候就会用。    2.更新频率比较低的字符串字段 (3) char 存储定长的字符串 存储长度:create table t (char(10) not null)   非空:存储255字节   可空:存储254字节 应用场景:   1.适合存储比较短的字符串   2.存储固定的长度或者存储长度比较接近的字符串     例如:手机号、MD5加密的密码、邮编等   3.经常变更的数据(不需要释放空间重新申请,即不会产生内存碎片)   4