
MySQL
文章平均质量分 52
seven-soft
十几年工作经验,软件破解、软件反编译、网络抓包;精通c、c++、java语言,熟悉eclipse、Microsoft Visual Studio、XCODE 开发环境,精通wince和Android开发。精通嵌入式CPU软件开发。
展开
-
MySQL数据库基础教程(视频)
本教程涵盖所有MySQL数据库,学习基本知识和数据表的主要用途用于操作MySQL数据库和各种约束条件,并综合使用各种命令记录进行CURD等操作,本课程的目的是“看得懂、学得会、做得出”,并为后续的学习打下坚实的基础。 MySQL数据库概述MySQL数据库的安装与配置MySQL数据库-启动与停止MySQL服务MySQL数据库登录与退出修改MySQL提示符MySQL数据库常用命令以及语法规转载 2017-07-30 15:29:26 · 8443 阅读 · 3 评论 -
Mysql命令drop table:删除数据表
drop table命令用于删除数据表。drop table命令格式:drop table ;例如,删除表名为 MyClass 的表: mysql> drop table MyClass;DROP TABLE用于删除一个或多个表。您必须有每个表的DROP权限。所有的表数据和表定义会被取消,所以使用本语句要小心!注意:对于一个带分区的表,DROP TABLE原创 2016-06-04 07:55:27 · 1370 阅读 · 0 评论 -
Mysql命令desc:获取数据表结构
desc命令用于获取数据表结构。desc命令格式: desc 表名;同样 show columns from 表名;也能获取数据表结构。举例如下:mysql> desc MyClass;mysql> show columns from MyClass;使用MySQL数据库desc 表名时,我们看到Key那一栏,可能会有4种值,即 ' ',原创 2016-06-04 07:54:53 · 2004 阅读 · 0 评论 -
Mysql命令create table:创建数据表
create table命令用来创建数据表。create table命令格式:create table ( [,.. ]);例如,建立一个名为MyClass的表:字段名数字类型数据宽度是否为空是否主键自动增加默认值idint4否primary keyauto_increment原创 2016-06-04 07:54:16 · 2270 阅读 · 0 评论 -
Mysql命令select:当前选择(连接)的数据库
select命令表示当前选择(连接)的数据库。select命令格式:mysql> select database();MySQL中SELECT命令类似于其他编程语言里的print或者write,你可以用它来显示一个字符串、数字、数学表达式的结果等等。如何使用MySQL中SELECT命令的特殊功能呢?1) 显示MYSQL的版本mysql> select version()原创 2016-06-04 07:53:28 · 482 阅读 · 0 评论 -
Mysql命令use:使用数据库
use命令可以让我们来使用数据库。use命令格式: use ;例如,如果xhkdb数据库存在,尝试存取它: mysql> use xhkdb;屏幕提示:Database changed1) use 语句可以通告MySQL把db_name数据库作为默认(当前)数据库使用,用于后续语句。该数据库保持为默认数据库,直到语段的结尾,或者直到出现下一个不同的use语句:原创 2016-06-04 07:52:50 · 1594 阅读 · 0 评论 -
Mysql命令drop database:删除数据库
drop命令用于删除数据库。drop命令格式:drop database ;例如,删除名为 xhkdb的数据库:mysql> drop database xhkdb;[例子1] 删除一个已经确定存在的数据库: mysql> drop database drop_database; Query OK, 0 rows affected (0.00 sec)原创 2016-06-04 07:52:18 · 3992 阅读 · 0 评论 -
Mysql命令show databases:显示所有数据库
show databases命令用于显示所有数据库。show databases命令格式:show databases; (注意:最后有个s)例如:mysql> show databases;注意:为了不在显示的时候乱码,要修改数据库默认编码。以下以GBK编码页面为例进行说明。1) 修改MYSQL的配置文件:my.ini里面修改default-character-s原创 2016-06-04 07:51:42 · 4733 阅读 · 0 评论 -
Mysql命令create:创建数据库
create命令用于创建数据库。create命令格式:create database ;注意:创建数据库之前要先连接Mysql服务器。1) 建立一个名为xhkdb的数据库: mysql> create database xhkdb;2) 创建数据库并分配用户:CREATE DATABASE 数据库名;GRANT SELECT,INSERT,UPDA原创 2016-06-04 07:50:48 · 1795 阅读 · 0 评论 -
Mysql命令grant on:增加新用户并控制其权限
注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符grant on命令用于增加新用户并控制其权限。grant on命令格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”;1) 增加一个用户test1,密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除原创 2016-06-04 07:50:03 · 3656 阅读 · 0 评论 -
Mysql命令mysqladmin:修改用户密码
mysqladmin命令用于修改用户密码。mysqladmin命令格式:mysqladmin -u 用户名 -p 旧密码 password 新密码1) 给root加个密码ab12首先在DOS下进入目录mysql\bin,然后键入以下命令: mysqladmin -u root -password ab12注:因为开始时root没有密码,所以-p 旧密码一项就可以省原创 2016-06-04 07:49:00 · 7048 阅读 · 0 评论 -
Mysql命令insert into:向表中插入数据(记录)
insert into命令用于向表中插入数据。insert into命令格式:insert into [([,.. ])] values ( 值1 )[, ( 值n )];例如:往表 MyClass中插入两条记录,这两条记录表示:编号为1的名为Tom的成绩为96.45,编号为2 的名为Joan 的成绩为82.99,编号为3 的名为Wang 的成绩为96.5。 mysql原创 2016-06-04 07:56:03 · 10006 阅读 · 0 评论 -
Mysql命令select from:查询表中的数据(记录)
select from命令用来查询表中的数据。1) 查询所有行命令格式: select from where ;例如,查看表 MyClass 中所有数据: mysql> select * from MyClass;2) 查询前几行数据例如,查看表 MyClass 中前2行数据: mysql> select * from MyClass orde原创 2016-06-04 07:56:43 · 1280 阅读 · 0 评论 -
MySQL数据库Filesort过程
filesort algorithm读取所有需要排序的数据每行数据 算法1(original):存储排序key和行指针 算法2(modified):存储排序key和select中的字段每次排序sort_buffer_size能容纳的行数,排序结果写入IO_CACHE对象(不妨称为IO1),本次排序结果的位置信息写入另一个IO_CACHE对象(不妨称为IO原创 2016-07-21 23:16:33 · 730 阅读 · 0 评论 -
MySQL数据库中QueryCache的锁模型
有同学在问 MySQL数据库中 QueryCache(QC)的锁是 “全局锁”还是 “表锁”。这里简要说明一下。1、 QC基本概念这个是实现在MySQL层(非引擎层)的一个内存结构,基本规则是将满足一定条件的查询结果缓存在内存中,若同样的查询再执行第二次,而且缓存没有失效,则可以直接返回查询结果,无需到引擎获取数据。几个说明:a) QC的结构是hash,key为查原创 2016-07-21 23:13:46 · 362 阅读 · 0 评论 -
MySQL多线程同步MySQL-Transfer介绍
一、关于TransferMySQL-Transefer(下称Transfer)是一个基于MySQL+patch后得到的主从同步工具。其主要目的是为了解决原生版本的主从同步里,从库是单线程apply主库的binlog,导致的延迟。最近完成测试的版本将multi-master (by P.Linux)合并到Transfer中并针对支付宝的应用需求做了定制性能改进。这里做一个原创 2016-07-21 23:12:19 · 2304 阅读 · 0 评论 -
Transfer在MySQL数据库双主同步架构中的应用
有同学讨论到Transfer能否支持双主结构,答案是支持的,这里简要描述下。背景 Transfer既可以当作主从库之外的工具来用,也可以本身充当slave的角色。本文分别描述在这两种使用场景下的部署结构和切换动作。 Slave模式a) 结构这个就是最简单的双主啦,Transfer呢?代码直接写到这两个Master里面啦,所以他们原创 2016-07-21 23:08:47 · 847 阅读 · 3 评论 -
MySQL数据库InnoDB存储引擎重做日志漫游
00 – Undo LogUndo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版本并发控制(简称:MVCC)。- 事务的原子性(Atomicity) 事务中的所有操作,要么全部完成,要么不做任何操作,不能只做部分操作。如果在执行的过程中发生 了错误,要回滚(Rollback)到事务开始前的状态,就像这个事务原创 2016-07-21 23:00:42 · 399 阅读 · 0 评论 -
Mysql命令mysqldump:备份数据库
mysqldump命令用来备份数据库。mysqldump命令在DOS的[url=file://\\mysql\\bin]\\mysql\\bin[/url]目录下执行。1) 导出整个数据库(导出文件默认是存在mysql\bin目录下) mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u user_name -p12345原创 2016-06-04 08:24:50 · 280 阅读 · 0 评论 -
Mysql命令rename:修改表名
rename命令用于修改表名。rename命令格式:rename table 原表名 to 新表名;例如,在表MyClass名字更改为YouClass: mysql> rename table MyClass to YouClass;当你执行 RENAME 时,你不能有任何锁定的表或活动的事务。你同样也必须有对原初表的 ALTER 和 DROP 权限,以及对新表的原创 2016-06-04 08:24:01 · 1287 阅读 · 0 评论 -
Mysql命令alter add:增加表的字段
alter add命令用来增加表的字段。alter add命令格式:alter table 表名 add字段 类型 其他;例如,在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0: mysql> alter table MyClass add passtest int(4) default '0';1) 加索引 mysql>原创 2016-06-04 08:23:26 · 1974 阅读 · 0 评论 -
Mysql命令update set:修改表中的数据
update set命令用来修改表中的数据。update set命令格式:update 表名 set 字段=新值,… where 条件;举例如下:mysql> update MyClass set name='Mary' where id=1;例子1,单表的MySQL UPDATE语句:UPDATE [LOW_PRIORITY] [IGNORE] tbl_name原创 2016-06-04 08:22:39 · 5324 阅读 · 0 评论 -
Mysql命令delete from:删除记录
delete from命令用于删除表中的数据。delete from命令格式:delete from 表名 where 表达式例如,删除表 MyClass中编号为1 的记录: mysql> delete from MyClass where id=1;请对比一下删除数据前后表的变化。FirstNameLastNameAge原创 2016-06-04 07:57:23 · 2465 阅读 · 0 评论 -
Mysql命令mysql:连接Mysql数据库
mysql命令用户连接数据库。mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码1) 连接到本机上的MYSQL首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码。注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。如果刚安装好MYSQL,超级用户原创 2016-06-04 07:48:20 · 345 阅读 · 0 评论 -
Mysq日志管理(错误日志、查询日志、慢查询日志)
错误日志记录内容:包含了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息文件位置和格式:可以用--log-error[=file_name]选项来指定mysqld保存错误日志文件的位置。如果没有给定file_name值,mysqld使用错误日志名host_name.err 并在数据目录中写入日志文件BINLOG记录内容:二进制日志包含了所有更新原创 2016-06-04 07:47:07 · 326 阅读 · 0 评论 -
MySql均衡负载
1) 利用mysql 复制分流查询操作利用mysql的主从复制可以有效的分流更新操作和查询操作,具体的实现是一个主服务器,承担更新操作,多台从服务器,承担查询操作,主从之间通过复制实现数据的同步。多台从服务器一方面用来确保可用性,一方面可以创建不同的索引满足不同查询的需要。对于主从之间不需要复制全部表的情况,可以通过在主的服务器上搭建一个虚拟的从服务器,将需要复制到从服务器的表设置成b原创 2016-06-04 07:44:33 · 353 阅读 · 0 评论 -
Mysql SQL Mode详解
Mysql SQL Mode简介MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以不同的方式应用这些模式。这样,应用程序就能对服务器操作进行量身定制以满足自己的需求。这类模式定义了MySQL应支持的SQL语法,以及应该在数据上执行何种确认检查。这样,就能在众多不同的环境下、与其他数据库服务器一起更容易地使用MySQL。可以使用“--sql-mode="modes"”选项,通过原创 2016-06-03 11:18:51 · 244 阅读 · 0 评论 -
Mysql使用SQL的安全问题,Mysql防止SQL注入
SQL注入简述SQL Injection攻击具有很大的危害,攻击者可以利用它读取、修改或者删除数据库内的数据,获取数据库中的用户名和密码等敏感信息,甚至可以 获得数据库管理员的权限。如果能够再利用SQLServer扩展存储过程和自定义扩展存储过程来执行一些系统命令,攻击者还可以获得该系统的控制权。而且,SQL Injection 也很难防范。网站管理员无法通过安装系统补丁或者进行简单的安全原创 2016-06-03 11:18:08 · 2760 阅读 · 1 评论 -
Mysql锁机制和事务控制
如何加锁锁定表的语法: LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE} [, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}] ...解锁语法: UNLOCK TABLESinnodb原创 2016-06-03 11:17:29 · 321 阅读 · 0 评论 -
Mysql索引的设计、使用和优化
Mysql索引概述所有MySQL列类型可以被索引。对相关列使用索引是提高SELECT操作性能的最佳途径。根据存储引擎定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。大多数存储引擎有更高的限制。在MySQL 5.1中,对于MyISAM和InnoDB表,前缀可以达到1000字节长。请注意前缀的限制应以字节为单位进行测量,而CREATE原创 2016-06-03 11:16:35 · 266 阅读 · 0 评论 -
Mysql字符集|为Mysql选择合适的字符集
字符集概述字符集是一套符号和编码的规则,不论是在oracle数据库还是在mysql数据库,都存在字符集的选择问题,而且如果在数据库创建阶段没有正确选择字符集,那么可能在后期需要更换字符集,而字符集的更换是代价比较高的操作,也存在一定的风险,所以,我们推荐在应用开始阶段,就按照需求正确的选择合适的字符集,避免后期不必要的调整。Mysql支持的字符集简介mysql服务器可以支持多种字符原创 2016-06-03 11:15:50 · 448 阅读 · 0 评论 -
为Mysql选择合适的数据类型
选择数据类型的基本原则前提:使用适合存储引擎。选择原则:根据选定的存储引擎,确定如何选择合适的数据类型。下面的选择方法按存储引擎分类:MyISAM 数据存储引擎和数据列:MyISAM数据表,最好使用固定长度(CHAR)的数据列代替可变长度(VARCHAR)的数据列。MEMORY存储引擎和数据列:MEMORY数据表目前都使用固定长度的数据行存储,因此无论使用CHAR或VA原创 2016-06-03 11:14:47 · 403 阅读 · 0 评论 -
Mysql各种存储引擎的特性以及如何选择存储引擎
几个常用存储引擎的特点下面我们重点介绍几种常用的存储引擎并对比各个存储引擎之间的区别和推荐使用方式。特点MyisamBDBMemoryInnoDBArchive存储限制没有没有有64TB没有事务安全 支持 支持 锁机制表锁页锁表锁行锁行锁原创 2016-06-03 11:14:00 · 231 阅读 · 0 评论 -
Mysql安装注意事项、安装失败的五个原因
错误1:wizard安装最后一页,出现cannot create Windows service for mysql.error:0 错误解决方法:打开命令行 输入 sc delete mysql 命令即 C:>sc delete mysql [SC] DeleteService SUCCESS重起电脑,或者卸载后重启再安装,这样就好了。我是卸载后重启的。卸载重原创 2016-06-03 11:12:59 · 4092 阅读 · 0 评论 -
Windows平台下配置Mysql|Windows下mysql配置教程
紧接上文,安装完成后将配置选项打上对勾,按下“Finish”,出现下面的界面,这里有一个很好的功能,mysql配置向导,不用向以前一样,自己手动乱七八糟的配置my.ini了,将 “Configure the Mysql Server now”前面的勾打上,点“Finish”结束软件的安装并启动mysql配置向导。mysql配置向导启动界面,按“Next”继续原创 2016-06-02 17:04:17 · 397 阅读 · 0 评论 -
Windows平台下安装Mysql|Windows下Mysql安装教程
打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面mysql安装向导启动,按“Next”继续选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程原创 2016-06-02 17:03:03 · 390 阅读 · 0 评论 -
Mysql下优化SQL的一般步骤
通过show status和应用特点了解各种SQL的执行频率通过SHOW STATUS可以提供服务器状态信息,也可以使用mysqladmin extended-status命令获得。SHOW STATUS可以根据需要显示session级别的统计结果和global级别的统计结果。以下几个参数对Myisam和Innodb存储引擎都计数:Com_select 执行select操作的原创 2016-06-03 11:19:38 · 247 阅读 · 0 评论 -
Mysql索引优化教程
索引的存储分类myisam表的数据文件和索引文件是自动分开的;innodb的数据和索引是存储在同一个表空间里面,但可以有多个文件组成。 创建索引语法如下: CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type] ON tbl_name (index_col_name,...)原创 2016-06-03 11:20:12 · 223 阅读 · 0 评论 -
如何减少对Mysql的访问以优化SQL语句
避免对同一数据做重复检索:应用中需要理清楚对数据库的访问逻辑,需要对相同表的访问,尽量集中在相同sql访问,一次提取结果,减少对数据库的重复访问。使用mysql query cache作用:查询缓存存储SELECT查询的文本以及发送给客户端的相应结果。如果随后收到一个相同的查询,服务器从查询缓存中重新得到查询结果,而不再需要解析和执行查询。适用范围:不发生数据更新的表。原创 2016-06-03 11:27:44 · 477 阅读 · 0 评论 -
使用mysql连接池提高性能
对于访问数据库来说,建立连接的代价比较昂贵,因此,我们有必要建立"连接池"以提高访问的性能。我们可以把连接当作对象或者设备,池中又有许多已经建立的连接,访问本来需要与数据库的连接的地方,都改为和池相连,池临时分配连接供访问使用,结果返回后,访问将连接交还。原创 2016-06-03 11:27:02 · 468 阅读 · 0 评论