简单,可复制

点点滴滴,尽在文中

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  db

上一页 1 2 3 4 下一页

摘要:优化Group By语句默认情况下,MySQL 排序所有GROUP BY col1,col2,....。查询的方法如同在查询中指定ORDER BY col1,col2,...。如果显式包括一个包含相同的列的ORDER BY子句,MySQL 可以毫不减速地对它进行优化,尽管仍然进行排序。如果查询包括GROUP BY 但你想要避免排序结果的消耗,你可以指定ORDER BY NULL禁止排序。优化Order by语句在某些情况中,MySQL 可以使用一个索引来满足ORDER BY 子句,而不需要额外的排序。where 条件和order by 使用相同的索引,并且order by 的顺序和索引顺序相同 阅读全文
posted @ 2012-11-07 01:45 ggjucheng 阅读(22716) 评论(0) 推荐(5) 编辑

摘要:KILL语法KILL [CONNECTION | QUERY] thread_id每个与mysqld的连接都在一个独立的线程里运行,您可以使用SHOW PROCESSLIST语句查看哪些线程正在运行,并使用KILLthread_id语句终止一个线程。KILL允许自选的CONNECTION或QUERY修改符:·KILL CONNECTION与不含修改符的KILL一样:它会终止与给定的thread_id有关的连接。·KILL QUERY会终止连接当前正在执行的语句,但是会保持连接的原状。如果您拥有PROCESS权限,则您可以查看所有线程。如果您拥有SUPER权限,您可以终止所有 阅读全文
posted @ 2012-11-07 00:22 ggjucheng 阅读(18319) 评论(0) 推荐(1) 编辑

摘要:FLUSH语法FLUSH [LOCAL | NO_WRITE_TO_BINLOG] flush_option [, flush_option] ...如果您想要清除MySQL使用的部分内部缓存,您应该使用FLUSH语句。要执行FLUSH,您必须拥有RELOAD权限。flush_optionHOSTS用于清空主机缓存表。如果有的主机更改了IP号或如果您得到了错误信息Host host_name is blocked,则您应该刷新主机表。当在连接到MySQL服务器时,如果对于一个给定的主机,接连出现错误“多于max_connect_errors”,此时,MySQL会假定出现了错误,并阻止主机后续的 阅读全文
posted @ 2012-11-07 00:19 ggjucheng 阅读(18678) 评论(0) 推荐(0) 编辑

摘要:SHOW CHARACTER SET显示所有可用的字符集SHOW CHARACTER SET;SHOW CHARACTER SET LIKE 'latin%';SHOW COLLATION输出包括所有可用的字符集SHOW COLLATION;SHOW COLLATION LIKE 'latin1%';SHOW COLUMNS显示在一个给定表中的各列的信息,对于视图,本语句也起作用。SHOW COLUMNS FROM mydb.mytable;SHOW COLUMNS FROM mytable FROM mydb;SHOW CREATE DATABASE显示用于创 阅读全文
posted @ 2012-11-07 00:13 ggjucheng 阅读(14018) 评论(0) 推荐(1) 编辑

摘要:join的类型1.内联结:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结。2.外联结:分为外左联结和外右联结。案例背景create table java (name varchar(255));insert into java values ('java1'),('java2'),('blue'); create table mysql (name varchar(255));insert into mysql values ('mysql1'),('mysql2'),('blue 阅读全文
posted @ 2012-11-06 23:47 ggjucheng 阅读(81047) 评论(3) 推荐(7) 编辑

摘要:delete语法单表语法:DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]多表语法:DELETE [LOW_PRIORITY] [QUICK] [IGNORE] tbl_name[.*] [, tbl_name[.*] ...] FROM table_references [WHERE where_definition]或DELETE [LOW_PRIORITY] [QUICK] [IGN... 阅读全文
posted @ 2012-11-06 10:02 ggjucheng 阅读(11815) 评论(0) 推荐(1) 编辑

摘要:update语法Single-table语法:UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]Multiple-table语法:UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE wh... 阅读全文
posted @ 2012-11-06 09:51 ggjucheng 阅读(355043) 评论(1) 推荐(5) 编辑

摘要:load的语法LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE tbl_name [FIELDS [TERMINATED BY 'string'] [[OPTIONALLY] ENCLOSED BY 'char'] [ESCAPED BY 'char' ] ] [LINES [STARTING BY 'string'] [TERMINATED BY ... 阅读全文
posted @ 2012-11-05 18:36 ggjucheng 阅读(32706) 评论(2) 推荐(5) 编辑

摘要:insert的语法INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]或:INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name SET col_name={expr | DEFA... 阅读全文
posted @ 2012-11-05 12:56 ggjucheng 阅读(175946) 评论(0) 推荐(5) 编辑

摘要:select的语法SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr, ... [INTO OUTFILE 'file_name' export_options | INTO DUMPFILE 'file_n... 阅读全文
posted @ 2012-11-05 10:54 ggjucheng 阅读(12831) 评论(0) 推荐(1) 编辑

摘要:创建索引创建索引的语法是:CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type] ON tbl_name (index_col_name,...) index_col_name: col_name [(length)] [ASC | DESC]对于CHAR和VARCHAR列,只用一列的一部分就可创建索引。创建索引时,使用col_name(length)语法,对前缀编制索引。前缀包括每列值的前length个字符。BLOB和TEXT列也可以编制索引,但是必须给出前缀长度。此处展示的语句用于创建一个索... 阅读全文
posted @ 2012-11-04 23:32 ggjucheng 阅读(4080) 评论(0) 推荐(3) 编辑

摘要:表的结构如下:mysql> show create table person;| person | CREATE TABLE `person` ( `number` int(11) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `birthday` date DEFAULT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8 |删除列:ALTER TABLE person DROP COLUMN birthday; 添加列:ALTER TABLE person ADD COLUMN birthday date 阅读全文
posted @ 2012-11-04 21:48 ggjucheng 阅读(3909) 评论(0) 推荐(0) 编辑

摘要:什么是索引索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。假设我们创建了一个名为people的表:CREATE TABLE people ( peopleid SMALLINT NOT NULL, name CHAR(50) NOT NULL );然后,我 阅读全文
posted @ 2012-11-04 20:05 ggjucheng 阅读(17146) 评论(1) 推荐(4) 编辑

摘要:创建表简单的方式CREATE TABLE person (number INT(11),name VARCHAR(255),birthday DATE);或者是CREATE TABLE IF NOT EXISTS person (number INT(11),name VARCHAR(255),birthday DATE);查看mysql创建表:SHOW CREATE table person;CREATE TABLE `person` ( `number` int(11) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `birthday... 阅读全文
posted @ 2012-11-03 00:35 ggjucheng 阅读(342831) 评论(4) 推荐(5) 编辑

摘要:创建数据库最简单的方式CREATE DATABASE my_db;或者是CREATE DATABASE IF NOT EXISTS my_db;创建utf8编码的数据库CREATE DATABASE IF NOT EXISTS my_db default character set utf8 COLLATE utf8_general_ci;那么在这个数据库下创建的所有数据表的默认字符集都会是utf8了,注意后面这句话 "COLLATE utf8_general_ci",大致意思是在排序时根据utf8变码格式来排序查看数据库列表show databases;使用数据库use 阅读全文
posted @ 2012-11-02 20:34 ggjucheng 阅读(15666) 评论(0) 推荐(0) 编辑

摘要:日志文件类型MySQL有几个不同的日志文件,可以帮助你找出mysqld内部发生的事情:日志文件记入文件中的信息类型错误日志记录启动、运行或停止mysqld时出现的问题。查询日志记录建立的客户端连接和执行的语句。更新日志记录更改数据的语句。不赞成使用该日志。二进制日志记录所有更改数据的语句。还用于复制。慢日志记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。默认情况下,所有日志创建于mysqld数据目录中。通过刷新日志,你可以强制mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。当你执行一个FLUSH LOGS语句或执行mysqladmi 阅读全文
posted @ 2012-11-02 19:28 ggjucheng 阅读(7113) 评论(0) 推荐(0) 编辑

摘要:MySQL增加新用户账户可以用两种方式创建MySQL账户:1.使用GRANT语句2.直接操作MySQL授权表最好的方法是使用GRANT语句,因为这样更精确,错误少。创建超级 用户:mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' IDENTIFIED BY 'some_pass' WITH GRANT OPTION;mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' IDENTIFIED B 阅读全文
posted @ 2012-11-02 18:16 ggjucheng 阅读(3201) 评论(0) 推荐(1) 编辑

摘要:mysql SQL服务器模式MySQL服务器可以以不同的SQL模式来操作,并且可以为不同客户端应用不同模式。这样每个应用程序可以根据自己的需求来定制服务器的操作模式。模式定义MySQL应支持哪些SQL语法,以及应执行哪种数据验证检查。这样可以更容易地在不同的环境中使用MySQL,并结合其它数据库服务器使用MySQL。你可以用--sql-mode="modes"选项启动mysqld来设置默认SQL模式。如果你想要重设,该值还可以为空(--sql-mode ="")。你还可以在启动后用SET [SESSION|GLOBAL] sql_mode='mo 阅读全文
posted @ 2012-11-02 16:07 ggjucheng 阅读(4513) 评论(0) 推荐(0) 编辑

摘要:服务器系统变量服务器将维护许多表示其配置的系统变量。所有变量均有默认值。可以在命令行中或选项文件设置选项在服务器启动时对它们进行设置。大多数可以在运行时使用SET语句来设置。mysqld服务器维护两种变量。全局变量影响服务器的全局操作。会话变量影响具体客户端连接相关操作。服务器启动时,将所有全局变量初始化为默认值。可以在选项文件或命令行中指定的选项来更改这些默认值。服务器启动后,通过连接服务器并执行SET GLOBALvar_name语句可以更改动态全局变量。要想更改全局变量,必须具有SUPER权限。服务器还为每个客户端连接维护会话变量。连接时使用相应全局变量的当前值对客户端会话变量进行初始化 阅读全文
posted @ 2012-11-02 15:59 ggjucheng 阅读(1396) 评论(0) 推荐(0) 编辑

摘要:mysql命令行中指定程序选项的规则在命令名后面紧跟选项。选项参量以一个和两个破折号开始,取决于它具有短名还是长名。例如,-?和--help是指导MySQL程序显示帮助消息的短选项和长选项。选项名对大小写敏感。-v和-V均有效,但具有不同的含义。(它们是--verbose和--version选项的短名)。部分选项在选项名后面紧随选项值。例如,-hlocalhost或--host=localhost表示客户程序的MySQL服务器主机。选项值可以告诉程序MySQL服务器运行的主机名。对于带选项值的长选项,通过一个‘=’将选项名和值隔离开来。对于带选项值的短选项,选项值可以紧随选项字母后面,或者二者 阅读全文
posted @ 2012-11-02 14:38 ggjucheng 阅读(14329) 评论(0) 推荐(1) 编辑

上一页 1 2 3 4 下一页