fill_help_tables.sql
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:193k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. -- Copyright (C) 2000-2005 MySQL AB
  2. -- 
  3. -- This program is free software; you can redistribute it and/or modify
  4. -- it under the terms of the GNU General Public License as published by
  5. -- the Free Software Foundation; either version 2 of the License, or
  6. -- (at your option) any later version.
  7. -- 
  8. -- This program is distributed in the hope that it will be useful,
  9. -- but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11. -- GNU General Public License for more details.
  12. -- 
  13. -- You should have received a copy of the GNU General Public License
  14. -- along with this program; if not, write to the Free Software
  15. -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  16. -- DO NOT EDIT THIS FILE. It is generated automatically.
  17. delete from help_topic;
  18. delete from help_category;
  19. delete from help_keyword;
  20. delete from help_relation;
  21. insert into help_category (help_category_id,name,parent_category_id,url) values 
  22. (1,"Geographic",0,''),
  23. (2,"Polygon properties",27,''),
  24. (3,"Column Types",28,''),
  25. (4,"WKT",27,''),
  26. (5,"Numeric Functions",31,''),
  27. (6,"MBR",27,''),
  28. (7,"Control flow functions",31,''),
  29. (8,"Transactions",28,''),
  30. (9,"Point properties",27,''),
  31. (10,"Encryption Functions",31,''),
  32. (11,"LineString properties",27,''),
  33. (12,"Logical operators",31,''),
  34. (13,"Miscellaneous Functions",31,''),
  35. (14,"Functions and Modifiers for Use with GROUP BY",28,''),
  36. (15,"Information Functions",31,'');
  37. insert into help_category (help_category_id,name,parent_category_id,url) values 
  38. (16,"Storage Engines",28,''),
  39. (17,"Comparison operators",31,''),
  40. (18,"Bit Functions",31,''),
  41. (19,"Geometry constructors",27,''),
  42. (20,"GeometryCollection properties",1,''),
  43. (21,"Administration",28,''),
  44. (22,"Data Manipulation",28,''),
  45. (23,"Language Structure",28,''),
  46. (24,"Geometry relations",27,''),
  47. (25,"Date and Time Functions",31,''),
  48. (26,"WKB",27,''),
  49. (27,"Geographic Features",28,''),
  50. (28,"Contents",0,''),
  51. (29,"Geometry properties",27,''),
  52. (30,"String Functions",31,'');
  53. insert into help_category (help_category_id,name,parent_category_id,url) values 
  54. (31,"Functions",28,''),
  55. (32,"Data Definition",28,'');
  56. insert into help_topic (help_topic_id,help_category_id,name,description,example,url) values (0,22,"JOIN","MySQL supports the following JOIN syntaxes for the table_references
  57. part of SELECT statements and multiple-table DELETE and UPDATE
  58. statements:
  59. table_reference, table_reference
  60. table_reference [INNER | CROSS] JOIN table_reference [join_condition]
  61. table_reference STRAIGHT_JOIN table_reference
  62. table_reference LEFT [OUTER] JOIN table_reference join_condition
  63. table_reference NATURAL [LEFT [OUTER]] JOIN table_reference
  64. { ON table_reference LEFT OUTER JOIN table_reference
  65.     ON conditional_expr }
  66. table_reference RIGHT [OUTER] JOIN table_reference join_condition
  67. table_reference NATURAL [RIGHT [OUTER]] JOIN table_reference
  68. table_reference is defined as:
  69. tbl_name [[AS] alias]
  70.     [{USE|IGNORE|FORCE} INDEX (key_list)]
  71. join_condition is defined as:
  72. ON conditional_expr | USING (column_list)
  73. ","mysql> SELECT table1.* FROM table1
  74.     ->        LEFT JOIN table2 ON table1.id=table2.id
  75.     ->        WHERE table2.id IS NULL;
  76. ","join"),(1,30,"HEX","Syntax:
  77. HEX(N_or_S)
  78. If N_OR_S is a number, returns a string representation of the
  79. hexadecimal value of N, where N is a longlong (BIGINT) number. This is
  80. equivalent to CONV(N,10,16).
  81. From MySQL 4.0.1 and up, if N_OR_S is a string, returns a hexadecimal
  82. string representation of N_OR_S where each character in N_OR_S is
  83. converted to two hexadecimal digits.
  84. ","mysql> SELECT HEX(255);
  85.         -> 'FF'
  86. mysql> SELECT 0x616263;
  87.         -> 'abc'
  88. mysql> SELECT HEX('abc');
  89.         -> 616263
  90. ","string-functions"),(2,30,"REPLACE","Syntax:
  91. REPLACE(str,from_str,to_str)
  92. Returns the string str with all occurrences of the string from_str
  93. replaced by the string to_str. REPLACE() performs a case-sensitive
  94. match when searching for from_str.
  95. ","mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
  96.         -> 'WwWwWw.mysql.com'
  97. ","string-functions"),(3,30,"REPEAT","Syntax:
  98. REPEAT(str,count)
  99. Returns a string consisting of the string str repeated count times. If
  100. count <= 0, returns an empty string. Returns NULL if str or count are
  101. NULL.
  102. ","mysql> SELECT REPEAT('MySQL', 3);
  103.         -> 'MySQLMySQLMySQL'
  104. ","string-functions"),(4,24,"CONTAINS","Contains(g1,g2)
  105. Returns 1 or 0 to indicate whether or not g1 completely contains g2.
  106. ","","functions-that-test-spatial-relationships-between-geometries"),(5,29,"SRID","SRID(g)
  107. Returns an integer indicating the Spatial Reference System ID for the
  108. geometry value g.
  109. In MySQL, the SRID value is just an integer associated with the
  110. geometry value. All calculations are done assuming Euclidean (planar)
  111. geometry.
  112. ","mysql> SELECT SRID(GeomFromText('LineString(1 1,2 2)',101));
  113. +-----------------------------------------------+
  114. | SRID(GeomFromText('LineString(1 1,2 2)',101)) |
  115. +-----------------------------------------------+
  116. |                                           101 |
  117. +-----------------------------------------------+
  118. ","general-geometry-property-functions"),(6,25,"CURRENT_TIMESTAMP","Syntax:
  119. CURRENT_TIMESTAMP, CURRENT_TIMESTAMP()
  120. CURRENT_TIMESTAMP and CURRENT_TIMESTAMP() are synonyms for NOW().
  121. ","","date-and-time-functions"),(7,14,"VARIANCE","Syntax:
  122. VARIANCE(expr)
  123. Returns the population standard variance of expr. This is an extension
  124. to standard SQL, available in MySQL 4.1 or later.
  125. VARIANCE() returns NULL if there were no matching rows.
  126. ","","group-by-functions"),(8,30,"CONCAT","Syntax:
  127. CONCAT(str1,str2,...)
  128. Returns the string that results from concatenating the arguments.
  129. Returns NULL if any argument is NULL. May have one or more arguments.
  130. If all arguments are non-binary strings, the result is a non-binary
  131. string. If the arguments include any binary strings, the result is a
  132. binary string. A numeric argument is converted to its equivalent binary
  133. string form; if you want to avoid that you can use explicit type cast,
  134. like in this example: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
  135. ","mysql> SELECT CONCAT('My', 'S', 'QL');
  136.         -> 'MySQL'
  137. mysql> SELECT CONCAT('My', NULL, 'QL');
  138.         -> NULL
  139. mysql> SELECT CONCAT(14.3);
  140.         -> '14.3'
  141. ","string-functions"),(9,27,"GEOMETRY HIERARCHY","Geometry is the base class. It's an abstract class. The instantiable
  142. subclasses of Geometry are restricted to zero-, one-, and
  143. two-dimensional geometric objects that exist in two-dimensional
  144. coordinate space. All instantiable geometry classes are defined so that
  145. valid instances of a geometry class are topologically closed (that is,
  146. all defined geometries include their boundary).
  147. The base Geometry class has subclasses for Point, Curve, Surface, and
  148. GeometryCollection:
  149. o Point represents zero-dimensional objects.
  150. o Curve represents one-dimensional objects, and has subclass
  151.   LineString, with sub-subclasses Line and LinearRing.
  152. o Surface is designed for two-dimensional objects and has subclass
  153.   Polygon.
  154. o GeometryCollection has specialized zero-, one-, and two-dimensional
  155.   collection classes named MultiPoint, MultiLineString, and
  156.   MultiPolygon for modeling geometries corresponding to collections of
  157.   Points, LineStrings, and Polygons, respectively. MultiCurve and
  158.   MultiSurface are introduced as abstract superclasses that generalize
  159.   the collection interfaces to handle Curves and Surfaces.
  160. Geometry, Curve, Surface, MultiCurve, and MultiSurface are defined as
  161. non-instantiable classes. They define a common set of methods for their
  162. subclasses and are included for extensibility.
  163. Point, LineString, Polygon, GeometryCollection, MultiPoint,
  164. MultiLineString, and MultiPolygon are instantiable classes.
  165. ","","gis-geometry-class-hierarchy"),(10,30,"CHAR FUNCTION","Syntax:
  166. CHAR(N,... [USING charset])
  167. CHAR() interprets each argument N as an integer and returns a string
  168. consisting of the characters given by the code values of those
  169. integers. NULL values are skipped.
  170. CHAR() returns a string in the connection character set. As of MySQL
  171. 4.1.16, the optional USING clause may be used to produce a string in a
  172. given character set:
  173. mysql> SELECT CHARSET(CHAR(0x65)), CHARSET(CHAR(0x65 USING utf8));
  174. +---------------------+--------------------------------+
  175. | CHARSET(CHAR(0x65)) | CHARSET(CHAR(0x65 USING utf8)) |
  176. +---------------------+--------------------------------+
  177. | latin1              | utf8                           |
  178. +---------------------+--------------------------------+
  179. ","mysql> SELECT CHAR(77,121,83,81,'76');
  180.         -> 'MySQL'
  181. mysql> SELECT CHAR(77,77.3,'77.3');
  182.         -> 'MMM'
  183. ","string-functions"),(11,3,"DATETIME","DATETIME
  184. A date and time combination. The supported range is '1000-01-01
  185. 00:00:00' to '9999-12-31 23:59:59'. MySQL displays DATETIME values in
  186. 'YYYY-MM-DD HH:MM:SS' format, but allows you to assign values to
  187. DATETIME columns using either strings or numbers.
  188. ","","date-and-time-type-overview"),(12,3,"INTEGER","INTEGER[(M)] [UNSIGNED] [ZEROFILL]
  189. This is a synonym for INT.
  190. ","","numeric-type-overview"),(13,30,"LOWER","Syntax:
  191. LOWER(str)
  192. Returns the string str with all characters changed to lowercase
  193. according to the current character set mapping (the default is cp1252
  194. Latin1).
  195. ","mysql> SELECT LOWER('QUADRATICALLY');
  196.         -> 'quadratically'
  197. ","string-functions"),(14,25,"MONTH","Syntax:
  198. MONTH(date)
  199. Returns the month for date, in the range 1 to 12.
  200. ","mysql> SELECT MONTH('1998-02-03');
  201.         -> 2
  202. ","date-and-time-functions");
  203. insert into help_topic (help_topic_id,help_category_id,name,description,example,url) values (15,3,"TINYINT","TINYINT[(M)] [UNSIGNED] [ZEROFILL]
  204. A very small integer. The signed range is -128 to 127. The unsigned
  205. range is 0 to 255.
  206. ","","numeric-type-overview"),(16,13,"MASTER_POS_WAIT","Syntax:
  207. MASTER_POS_WAIT(log_name,log_pos[,timeout])
  208. This function is useful for control of master/slave synchronization. It
  209. blocks until the slave has read and applied all updates up to the
  210. specified position in the master log. The return value is the number of
  211. log events it had to wait for to get to the specified position. The
  212. function returns NULL if the slave SQL thread is not started, the
  213. slave's master information is not initialized, the arguments are
  214. incorrect, or an error occurs. It returns -1 if the timeout has been
  215. exceeded. If the slave SQL thread stops while MASTER_POS_WAIT() is
  216. waiting, the function returns NULL. If the slave is past the specified
  217. position, the function returns immediately.
  218. ","","miscellaneous-functions"),(17,30,"REGEXP","Syntax:
  219. expr REGEXP pat expr RLIKE pat
  220. Performs a pattern match of a string expression expr against a pattern
  221. pat. The pattern can be an extended regular expression. The syntax for
  222. regular expressions is discussed in [regexp]. Returns 1 if expr matches
  223. pat; otherwise it returns 0. If either expr or pat is NULL, the result
  224. is NULL. RLIKE is a synonym for REGEXP, provided for mSQL
  225. compatibility.
  226. The pattern need not be a literal string. For example, it can be
  227. specified as a string expression or table column.
  228. Note: Because MySQL uses the C escape syntax in strings (for example,
  229. `\n' to represent the newline character), you must double any `\' that
  230. you use in your REGEXP strings.
  231. As of MySQL 3.23.4, REGEXP is not case sensitive, except when used with
  232. binary strings.
  233. ","mysql> SELECT 'Monty!' REGEXP 'm%y%%';
  234.         -> 0
  235. mysql> SELECT 'Monty!' REGEXP '.*';
  236.         -> 1
  237. mysql> SELECT 'new*\n*line' REGEXP 'new\\*.\\*line';
  238.         -> 1
  239. mysql> SELECT 'a' REGEXP 'A', 'a' REGEXP BINARY 'A';
  240.         -> 1  0
  241. mysql> SELECT 'a' REGEXP '^[a-d]';
  242.         -> 1
  243. ","string-comparison-functions"),(18,18,"^","Syntax:
  244. ^
  245. Bitwise XOR:
  246. ","mysql> SELECT 1 ^ 1;
  247.         -> 0
  248. mysql> SELECT 1 ^ 0;
  249.         -> 1
  250. mysql> SELECT 11 ^ 3;
  251.         -> 8
  252. ","bit-functions"),(19,25,"DATE OPERATIONS","Syntax:
  253. DATE_ADD(date,INTERVAL expr type) DATE_SUB(date,INTERVAL expr type)
  254. These functions perform date arithmetic. date is a DATETIME or DATE
  255. value specifying the starting date. expr is an expression specifying
  256. the interval value to be added or subtracted from the starting date.
  257. expr is a string; it may start with a `-' for negative intervals. type
  258. is a keyword indicating how the expression should be interpreted.
  259. ","mysql> SELECT '1997-12-31 23:59:59' + INTERVAL 1 SECOND;
  260.         -> '1998-01-01 00:00:00'
  261. mysql> SELECT INTERVAL 1 DAY + '1997-12-31';
  262.         -> '1998-01-01'
  263. mysql> SELECT '1998-01-01' - INTERVAL 1 SECOND;
  264.         -> '1997-12-31 23:59:59'
  265. mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
  266.     ->                 INTERVAL 1 SECOND);
  267.         -> '1998-01-01 00:00:00'
  268. mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
  269.     ->                 INTERVAL 1 DAY);
  270.         -> '1998-01-01 23:59:59'
  271. mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
  272.     ->                 INTERVAL '1:1' MINUTE_SECOND);
  273.         -> '1998-01-01 00:01:00'
  274. mysql> SELECT DATE_SUB('1998-01-01 00:00:00',
  275.     ->                 INTERVAL '1 1:1:1' DAY_SECOND);
  276.         -> '1997-12-30 22:58:59'
  277. mysql> SELECT DATE_ADD('1998-01-01 00:00:00',
  278.     ->                 INTERVAL '-1 10' DAY_HOUR);
  279.         -> '1997-12-30 14:00:00'
  280. mysql> SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY);
  281.         -> '1997-12-02'
  282. mysql> SELECT DATE_ADD('1992-12-31 23:59:59.000002',
  283.     ->            INTERVAL '1.999999' SECOND_MICROSECOND);
  284.         -> '1993-01-01 00:00:01.000001'
  285. ","date-and-time-functions"),(20,24,"WITHIN","Within(g1,g2)
  286. Returns 1 or 0 to indicate whether or not g1 is spatially within g2.
  287. ","","functions-that-test-spatial-relationships-between-geometries"),(21,25,"WEEK","Syntax:
  288. WEEK(date[,mode])
  289. This function returns the week number for date. The two-argument form
  290. of WEEK() allows you to specify whether the week starts on Sunday or
  291. Monday and whether the return value should be in the range from 0 to 53
  292. or from 1 to 53. If the mode argument is omitted, the value of the
  293. default_week_format system variable is used (or 0 before MySQL 4.0.14).
  294. See [server-system-variables].
  295. ","mysql> SELECT WEEK('1998-02-20');
  296.         -> 7
  297. mysql> SELECT WEEK('1998-02-20',0);
  298.         -> 7
  299. mysql> SELECT WEEK('1998-02-20',1);
  300.         -> 8
  301. mysql> SELECT WEEK('1998-12-31',1);
  302.         -> 53
  303. ","date-and-time-functions"),(22,8,"LOCK","Syntax:
  304. LOCK TABLES
  305.     tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}
  306.     [, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}] ...
  307. UNLOCK TABLES
  308. LOCK TABLES locks tables for the current thread. If any of the tables
  309. are locked by other threads, it blocks until all locks can be acquired.
  310. UNLOCK TABLES releases any locks held by the current thread. All tables
  311. that are locked by the current thread are implicitly unlocked when the
  312. thread issues another LOCK TABLES, or when the connection to the server
  313. is closed.
  314. A table lock protects only against inappropriate reads or writes by
  315. other clients. The client holding the lock, even a read lock, can
  316. perform table-level operations such as DROP TABLE.
  317. ","","lock-tables"),(23,22,"RESET SLAVE","Syntax:
  318. RESET SLAVE
  319. Makes the slave forget its replication position in the master's binary
  320. logs. This statement is meant to be used for a clean start: It deletes
  321. the master.info and relay-log.info files, all the relay logs, and
  322. starts a new relay log.
  323. Note: All relay logs are deleted, even if they have not been completely
  324. executed by the slave SQL thread. (This is a condition likely to exist
  325. on a replication slave if you have issued a STOP SLAVE statement or if
  326. the slave is highly loaded.)
  327. Connection information stored in the master.info file is immediately
  328. reset using any values specified in the corresponding startup options.
  329. This information includes values such as master host, master port,
  330. master user, and master password. If the slave SQL thread was in the
  331. middle of replicating temporary tables when it was stopped, and RESET
  332. SLAVE is issued, these replicated temporary tables are deleted on the
  333. slave.
  334. This statement was named FLUSH SLAVE before MySQL 3.23.26.
  335. ","","reset-slave"),(24,19,"POLYGON","Polygon(ls1,ls2,...)
  336. Constructs a WKB Polygon value from a number of WKB LineString
  337. arguments. If any argument does not represent the WKB of a LinearRing
  338. (that is, not a closed and simple LineString) the return value is NULL.
  339. ","","gis-mysql-specific-functions"),(25,25,"MINUTE","Syntax:
  340. MINUTE(time)
  341. Returns the minute for time, in the range 0 to 59.
  342. ","mysql> SELECT MINUTE('98-02-03 10:05:03');
  343.         -> 5
  344. ","date-and-time-functions"),(26,25,"DAY","Syntax:
  345. DAY(date)
  346. DAY() is a synonym for DAYOFMONTH(). It is available as of MySQL 4.1.1.
  347. ","","date-and-time-functions"),(27,30,"MID","Syntax:
  348. MID(str,pos,len)
  349. MID(str,pos,len) is a synonym for SUBSTRING(str,pos,len).
  350. ","","string-functions"),(28,22,"REPLACE INTO","Syntax:
  351. REPLACE [LOW_PRIORITY | DELAYED]
  352.     [INTO] tbl_name [(col_name,...)]
  353.     VALUES ({expr | DEFAULT},...),(...),...
  354. Or:
  355. REPLACE [LOW_PRIORITY | DELAYED]
  356.     [INTO] tbl_name
  357.     SET col_name={expr | DEFAULT}, ...
  358. Or:
  359. REPLACE [LOW_PRIORITY | DELAYED]
  360.     [INTO] tbl_name [(col_name,...)]
  361.     SELECT ...
  362. REPLACE works exactly like INSERT, except that if an old record in the
  363. table has the same value as a new record for a PRIMARY KEY or a UNIQUE
  364. index, the old record is deleted before the new record is inserted. See
  365. [insert].
  366. Note that unless the table has a PRIMARY KEY or UNIQUE index, using a
  367. REPLACE statement makes no sense. It becomes equivalent to INSERT,
  368. because there is no index to be used to determine whether a new row
  369. duplicates another.
  370. Values for all columns are taken from the values specified in the
  371. REPLACE statement. Any missing columns are set to their default values,
  372. just as happens for INSERT. You cannot refer to values from the current
  373. row and use them in the new row. If you use an assignment such as SET
  374. col_name = col_name + 1, the reference to the column name on the right
  375. hand side is treated as DEFAULT(col_name), so the assignment is
  376. equivalent to SET col_name = DEFAULT(col_name) + 1.
  377. To be able to use REPLACE, you must have both the INSERT and DELETE
  378. privileges for the table.
  379. ","","replace"),(29,13,"UUID","Syntax:
  380. UUID()
  381. Returns a Universal Unique Identifier (UUID) generated according to
  382. "DCE 1.1: Remote Procedure Call" (Appendix A) CAE (Common Applications
  383. Environment) Specifications published by The Open Group in October 1997
  384. (Document Number C706,
  385. http://www.opengroup.org/public/pubs/catalog/c706.htm).
  386. A UUID is designed as a number that is globally unique in space and
  387. time. Two calls to UUID() are expected to generate two different
  388. values, even if these calls are performed on two separate computers
  389. that are not connected to each other.
  390. A UUID is a 128-bit number represented by a string of five hexadecimal
  391. numbers in aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee format:
  392. o The first three numbers are generated from a timestamp.
  393. o The fourth number preserves temporal uniqueness in case the timestamp
  394.   value loses monotonicity (for example, due to daylight saving time).
  395. o The fifth number is an IEEE 802 node number that provides spatial
  396.   uniqueness. A random number is substituted if the latter is not
  397.   available (for example, because the host computer has no Ethernet
  398.   card, or we do not know how to find the hardware address of an
  399.   interface on your operating system). In this case, spatial uniqueness
  400.   cannot be guaranteed. Nevertheless, a collision should have very low
  401.   probability.
  402.   Currently, the MAC address of an interface is taken into account only
  403.   on FreeBSD and Linux. On other operating systems, MySQL uses a
  404.   randomly generated 48-bit number.
  405. ","mysql> SELECT UUID();
  406.         -> '6ccd780c-baba-1026-9564-0040f4311e29'
  407. ","miscellaneous-functions");
  408. insert into help_topic (help_topic_id,help_category_id,name,description,example,url) values (30,19,"LINESTRING","LineString(pt1,pt2,...)
  409. Constructs a WKB LineString value from a number of WKB Point arguments.
  410. If any argument is not a WKB Point, the return value is NULL. If the
  411. number of Point arguments is less than two, the return value is NULL.
  412. ","","gis-mysql-specific-functions"),(31,15,"CONNECTION_ID","Syntax:
  413. CONNECTION_ID()
  414. Returns the connection ID (thread ID) for the connection. Every
  415. connection has its own unique ID.
  416. ","mysql> SELECT CONNECTION_ID();
  417.         -> 23786
  418. ","information-functions"),(32,22,"DELETE","Syntax:
  419. Single-table syntax:
  420. DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
  421.     [WHERE where_definition]
  422.     [ORDER BY ...]
  423.     [LIMIT row_count]
  424. Multiple-table syntax:
  425. DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
  426.     tbl_name[.*] [, tbl_name[.*] ...]
  427.     FROM table_references
  428.     [WHERE where_definition]
  429. Or:
  430. DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
  431.     FROM tbl_name[.*] [, tbl_name[.*] ...]
  432.     USING table_references
  433.     [WHERE where_definition]
  434. DELETE deletes rows from tbl_name that satisfy the condition given by
  435. where_definition, and returns the number of records deleted.
  436. If you issue a DELETE statement with no WHERE clause, all rows are
  437. deleted. A faster way to do this, when you do not want to know the
  438. number of deleted rows, is to use TRUNCATE TABLE. See [truncate].
  439. ","","delete"),(33,5,"ROUND","Syntax:
  440. ROUND(X) ROUND(X,D)
  441. Returns the argument X, rounded to the nearest integer. With two
  442. arguments, returns X rounded to D decimals. D can be negative in order
  443. to round D digits left of the decimal point of the value X.
  444. ","mysql> SELECT ROUND(-1.23);
  445.         -> -1
  446. mysql> SELECT ROUND(-1.58);
  447.         -> -2
  448. mysql> SELECT ROUND(1.58);
  449.         -> 2
  450. mysql> SELECT ROUND(1.298, 1);
  451.         -> 1.3
  452. mysql> SELECT ROUND(1.298, 0);
  453.         -> 1
  454. mysql> SELECT ROUND(23.298, -1);
  455.         -> 20
  456. ","mathematical-functions"),(34,7,"NULLIF","Syntax:
  457. NULLIF(expr1,expr2)
  458. Returns NULL if expr1 = expr2 is true, otherwise returns expr1. This is
  459. the same as CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END.
  460. ","mysql> SELECT NULLIF(1,1);
  461.         -> NULL
  462. mysql> SELECT NULLIF(1,2);
  463.         -> 1
  464. ","control-flow-functions"),(35,22,"STOP SLAVE","Syntax:
  465. STOP SLAVE [thread_type [, thread_type] ... ]
  466. thread_type: IO_THREAD | SQL_THREAD
  467. Stops the slave threads. STOP SLAVE requires the SUPER privilege.
  468. Like START SLAVE, as of MySQL 4.0.2, this statement may be used with
  469. the IO_THREAD and SQL_THREAD options to name the thread or threads to
  470. be stopped.
  471. ","","stop-slave"),(36,25,"TIMEDIFF","Syntax:
  472. TIMEDIFF(expr,expr2)
  473. TIMEDIFF() returns the time between the start time expr and the end
  474. time expr2. expr and expr2 are time or date-and-time expressions, but
  475. both must be of the same type.
  476. ","mysql> SELECT TIMEDIFF('2000:01:01 00:00:00',
  477.     ->                 '2000:01:01 00:00:00.000001');
  478.         -> '-00:00:00.000001'
  479. mysql> SELECT TIMEDIFF('1997-12-31 23:59:59.000001',
  480.     ->                 '1997-12-30 01:01:01.000002');
  481.         -> '46:58:57.999999'
  482. ","date-and-time-functions"),(37,4,"LINEFROMTEXT","LineFromText(wkt[,srid]) , LineStringFromText(wkt[,srid])
  483. Constructs a LINESTRING value using its WKT representation and SRID.
  484. ","","gis-wkt-functions"),(38,22,"SHOW MASTER STATUS","Provides status information on the binary log files of the master.
  485. Example:
  486. mysql > SHOW MASTER STATUS;
  487. +---------------+----------+--------------+------------------+
  488. | File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  489. +---------------+----------+--------------+------------------+
  490. | mysql-bin.003 | 73       | test         | manual,mysql     |
  491. +---------------+----------+--------------+------------------+
  492. ","","show-master-status"),(39,25,"ADDTIME","Syntax:
  493. ADDTIME(expr,expr2)
  494. ADDTIME() adds expr2 to expr and returns the result. expr is a time or
  495. datetime expression, and expr2 is a time expression.
  496. ","mysql> SELECT ADDTIME('1997-12-31 23:59:59.999999',
  497.     ->                '1 1:1:1.000002');
  498.         -> '1998-01-02 01:01:01.000001'
  499. mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
  500.         -> '03:00:01.999997'
  501. ","date-and-time-functions"),(40,27,"SPATIAL","MySQL can create spatial indexes using syntax similar to that for
  502. creating regular indexes, but extended with the SPATIAL keyword.
  503. Spatial columns that are indexed currently must be declared NOT NULL.
  504. The following examples demonstrate how to create spatial indexes.
  505. o With CREATE TABLE:
  506. mysql> CREATE TABLE geom (g GEOMETRY NOT NULL, SPATIAL INDEX(g));
  507. o With ALTER TABLE:
  508. mysql> ALTER TABLE geom ADD SPATIAL INDEX(g);
  509. o With CREATE INDEX:
  510. mysql> CREATE SPATIAL INDEX sp_index ON geom (g);
  511. To drop spatial indexes, use ALTER TABLE or DROP INDEX:
  512. o With ALTER TABLE:
  513. mysql> ALTER TABLE geom DROP INDEX g;
  514. o With DROP INDEX:
  515. mysql> DROP INDEX sp_index ON geom;
  516. Example: Suppose that a table geom contains more than 32,000
  517. geometries, which are stored in the column g of type GEOMETRY. The
  518. table also has an AUTO_INCREMENT column fid for storing object ID
  519. values.
  520. ","","creating-spatial-indexes"),(41,30,"UPPER","Syntax:
  521. UPPER(str)
  522. Returns the string str with all characters changed to uppercase
  523. according to the current character set mapping (the default is cp1252
  524. Latin1).
  525. ","mysql> SELECT UPPER('Hej');
  526.         -> 'HEJ'
  527. ","string-functions"),(42,25,"FROM_UNIXTIME","Syntax:
  528. FROM_UNIXTIME(unix_timestamp) , FROM_UNIXTIME(unix_timestamp,format)
  529. Returns a representation of the unix_timestamp argument as a value in
  530. 'YYYY-MM-DD HH:MM:SS' or YYYYMMDDHHMMSS format, depending on whether
  531. the function is used in a string or numeric context.
  532. If format is given, the result is formatted according to the format
  533. string. format may contain the same specifiers as those listed in the
  534. entry for the DATE_FORMAT() function.
  535. ","mysql> SELECT FROM_UNIXTIME(875996580);
  536.         -> '1997-10-04 22:23:00'
  537. mysql> SELECT FROM_UNIXTIME(875996580) + 0;
  538.         -> 19971004222300
  539. mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),
  540.     ->                      '%Y %D %M %h:%i:%s %x');
  541.         -> '2003 6th August 06:22:58 2003'
  542. ","date-and-time-functions"),(43,3,"MEDIUMBLOB","MEDIUMBLOB
  543. A BLOB column with a maximum length of 16,777,215 (224 - 1) bytes.
  544. ","","string-type-overview"),(44,7,"IFNULL","Syntax:
  545. IFNULL(expr1,expr2)
  546. If expr1 is not NULL, IFNULL() returns expr1; otherwise it returns
  547. expr2. IFNULL() returns a numeric or string value, depending on the
  548. context in which it is used.
  549. ","mysql> SELECT IFNULL(1,0);
  550.         -> 1
  551. mysql> SELECT IFNULL(NULL,10);
  552.         -> 10
  553. mysql> SELECT IFNULL(1/0,10);
  554.         -> 10
  555. mysql> SELECT IFNULL(1/0,'yes');
  556.         -> 'yes'
  557. ","control-flow-functions");
  558. insert into help_topic (help_topic_id,help_category_id,name,description,example,url) values (45,17,"LEAST","Syntax:
  559. LEAST(value1,value2,...)
  560. With two or more arguments, returns the smallest (minimum-valued)
  561. argument. The arguments are compared using the following rules:
  562. o If the return value is used in an INTEGER context or all arguments
  563.   are integer-valued, they are compared as integers.
  564. o If the return value is used in a REAL context or all arguments are
  565.   real-valued, they are compared as reals.
  566. o If any argument is a case-sensitive string, the arguments are
  567.   compared as case-sensitive strings.
  568. o In all other cases, the arguments are compared as case-insensitive
  569.   strings.
  570. ","mysql> SELECT LEAST(2,0);
  571.         -> 0
  572. mysql> SELECT LEAST(34.0,3.0,5.0,767.0);
  573.         -> 3.0
  574. mysql> SELECT LEAST('B','A','C');
  575.         -> 'A'
  576. ","comparison-operators"),(46,17,"=","=
  577. Equal:
  578. ","mysql> SELECT 1 = 0;
  579.         -> 0
  580. mysql> SELECT '0' = 0;
  581.         -> 1
  582. mysql> SELECT '0.0' = 0;
  583.         -> 1
  584. mysql> SELECT '0.01' = 0;
  585.         -> 0
  586. mysql> SELECT '.01' = 0.01;
  587.         -> 1
  588. ","comparison-operators"),(47,30,"REVERSE","Syntax:
  589. REVERSE(str)
  590. Returns the string str with the order of the characters reversed.
  591. ","mysql> SELECT REVERSE('abc');
  592.         -> 'cba'
  593. ","string-functions"),(48,17,"ISNULL","Syntax:
  594. ISNULL(expr)
  595. If expr is NULL, ISNULL() returns 1, otherwise it returns 0.
  596. ","mysql> SELECT ISNULL(1+1);
  597.         -> 0
  598. mysql> SELECT ISNULL(1/0);
  599.         -> 1
  600. ","comparison-operators"),(49,3,"BINARY","BINARY(M)
  601. The BINARY type is similar to the CHAR type, but stores binary byte
  602. strings rather than non-binary character strings.
  603. This type was added in MySQL 4.1.2.
  604. ","","string-type-overview"),(50,3,"BLOB DATA TYPE","A BLOB is a binary large object that can hold a variable amount of
  605. data. The four BLOB types, TINYBLOB, BLOB, MEDIUMBLOB, and LONGBLOB,
  606. differ only in the maximum length of the values they can hold.
  607. ","","blob"),(51,29,"BOUNDARY","Boundary(g)
  608. Returns a geometry that is the closure of the combinatorial boundary of
  609. the geometry value g.
  610. ","","general-geometry-property-functions"),(52,19,"POINT","Point(x,y)
  611. Constructs a WKB Point using its coordinates.
  612. ","","gis-mysql-specific-functions"),(53,15,"CURRENT_USER","Syntax:
  613. CURRENT_USER, CURRENT_USER()
  614. Returns the username and hostname combination that the current session
  615. was authenticated as. This value corresponds to the MySQL account that
  616. determines your access privileges.
  617. The value of CURRENT_USER() can differ from the value of USER().
  618. ","mysql> SELECT USER();
  619.         -> 'davida@localhost'
  620. mysql> SELECT * FROM mysql.user;
  621. ERROR 1044: Access denied for user ''@'localhost' to
  622. database 'mysql'
  623. mysql> SELECT CURRENT_USER();
  624.         -> '@localhost'
  625. ","information-functions"),(54,30,"LCASE","Syntax:
  626. LCASE(str)
  627. LCASE() is a synonym for LOWER().
  628. ","","string-functions"),(55,17,"<=","Syntax:
  629. <=
  630. Less than or equal:
  631. ","mysql> SELECT 0.1 <= 2;
  632.         -> 1
  633. ","comparison-operators"),(56,22,"UPDATE","Syntax:
  634. Single-table syntax:
  635. UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
  636.     SET col_name1=expr1 [, col_name2=expr2 ...]
  637.     [WHERE where_definition]
  638.     [ORDER BY ...]
  639.     [LIMIT row_count]
  640. Multiple-table syntax:
  641. UPDATE [LOW_PRIORITY] [IGNORE] table_references
  642.     SET col_name1=expr1 [, col_name2=expr2 ...]
  643.     [WHERE where_definition]
  644. The UPDATE statement updates columns in existing table rows with new
  645. values. The SET clause indicates which columns to modify and the values
  646. they should be given. The WHERE clause, if given, specifies which rows
  647. should be updated. Otherwise, all rows are updated. If the ORDER BY
  648. clause is specified, the rows are updated in the order that is
  649. specified. The LIMIT clause places a limit on the number of rows that
  650. can be updated.
  651. The UPDATE statement supports the following modifiers:
  652. o If you use the LOW_PRIORITY keyword, execution of the UPDATE is
  653.   delayed until no other clients are reading from the table.
  654. o If you use the IGNORE keyword, the update statement does not abort
  655.   even if errors occur during the update. Rows for which duplicate-key
  656.   conflicts occur are not updated. Rows for which columns are updated
  657.   to values that would cause data conversion errors are updated to the
  658.   closet valid values instead.
  659. ","","update"),(57,32,"DROP INDEX","Syntax:
  660. DROP INDEX index_name ON tbl_name
  661. DROP INDEX drops the index named index_name from the table tbl_name. In
  662. MySQL 3.22 or later, DROP INDEX is mapped to an ALTER TABLE statement
  663. to drop the index. See [alter-table]. DROP INDEX does not do anything
  664. prior to MySQL 3.22.
  665. ","","drop-index"),(58,30,"MATCH AGAINST","Syntax:
  666. MATCH (col1,col2,...) AGAINST (expr [IN BOOLEAN MODE | WITH QUERY
  667. EXPANSION])
  668. As of MySQL 3.23.23, MySQL has support for full-text indexing and
  669. searching. A full-text index in MySQL is an index of type FULLTEXT.
  670. FULLTEXT indexes can be used only with MyISAM tables; they can be
  671. created from CHAR, VARCHAR, or TEXT columns as part of a CREATE TABLE
  672. statement or added later using ALTER TABLE or CREATE INDEX. For large
  673. datasets, it is much faster to load your data into a table that has no
  674. FULLTEXT index, and then create the index afterwards, than to load data
  675. into a table that has an existing FULLTEXT index.
  676. ","mysql> SELECT id, body, MATCH (title,body) AGAINST
  677.     -> ('Security implications of running MySQL as root') AS score
  678.     -> FROM articles WHERE MATCH (title,body) AGAINST
  679.     -> ('Security implications of running MySQL as root');
  680. +----+-------------------------------------+-----------------+
  681. | id | body                                | score           |
  682. +----+-------------------------------------+-----------------+
  683. |  4 | 1. Never run mysqld as root. 2. ... | 1.5219271183014 |
  684. |  6 | When configured properly, MySQL ... | 1.3114095926285 |
  685. +----+-------------------------------------+-----------------+
  686. 2 rows in set (0.00 sec)
  687. ","fulltext-search"),(59,5,"ABS","Syntax:
  688. ABS(X)
  689. Returns the absolute value of X.
  690. ","mysql> SELECT ABS(2);
  691.         -> 2
  692. mysql> SELECT ABS(-32);
  693.         -> 32
  694. ","mathematical-functions");
  695. insert into help_topic (help_topic_id,help_category_id,name,description,example,url) values (60,26,"POLYFROMWKB","PolyFromWKB(wkb[,srid]) , PolygonFromWKB(wkb[,srid])
  696. Constructs a POLYGON value using its WKB representation and SRID.
  697. ","","gis-wkb-functions"),(61,30,"NOT LIKE","Syntax:
  698. expr NOT LIKE pat [ESCAPE 'escape-char']
  699. This is the same as NOT (expr LIKE pat [ESCAPE 'escape-char']).
  700. ","","string-comparison-functions"),(62,30,"SPACE","Syntax:
  701. SPACE(N)
  702. Returns a string consisting of N space characters.
  703. ","mysql> SELECT SPACE(6);
  704.         -> '      '
  705. ","string-functions"),(63,6,"MBR DEFINITION","Its MBR (Minimum Bounding Rectangle), or Envelope. This is the bounding
  706. geometry, formed by the minimum and maximum (X,Y) coordinates:
  707. ","((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))
  708. ","gis-class-geometry"),(64,19,"GEOMETRYCOLLECTION","GeometryCollection(g1,g2,...)
  709. Constructs a WKB GeometryCollection. If any argument is not a
  710. well-formed WKB representation of a geometry, the return value is NULL.
  711. ","","gis-mysql-specific-functions"),(65,5,"*","Syntax:
  712. *
  713. Multiplication:
  714. ","mysql> SELECT 3*5;
  715.         -> 15
  716. mysql> SELECT 18014398509481984*18014398509481984.0;
  717.         -> 324518553658426726783156020576256.0
  718. mysql> SELECT 18014398509481984*18014398509481984;
  719.         -> 0
  720. ","arithmetic-functions"),(66,3,"TIMESTAMP","TIMESTAMP[(M)]
  721. A timestamp. The range is '1970-01-01 00:00:00' to partway through the
  722. year 2037.
  723. A TIMESTAMP column is useful for recording the date and time of an
  724. INSERT or UPDATE operation. The first TIMESTAMP column in a table is
  725. automatically set to the date and time of the most recent operation if
  726. you do not assign it a value yourself. You can also set any TIMESTAMP
  727. column to the current date and time by assigning it a NULL value.
  728. In MySQL 4.1, TIMESTAMP is returned as a string with the format
  729. 'YYYY-MM-DD HH:MM:SS'. Display widths (used as described in the
  730. following paragraphs) are no longer supported; the display width is
  731. fixed at 19 characters. If you want to obtain the value as a number,
  732. you should add +0 to the timestamp column.
  733. In MySQL 4.0 and earlier, TIMESTAMP values are displayed in
  734. YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, or YYMMDD format, depending on
  735. whether M is 14 (or missing), 12, 8, or 6, but allows you to assign
  736. values to TIMESTAMP columns using either strings or numbers. The M
  737. argument affects only how a TIMESTAMP column is displayed, not storage.
  738. Its values always are stored using four bytes each. From MySQL 4.0.12,
  739. the --new option can be used to make the server behave as in MySQL 4.1.
  740. Note that TIMESTAMP(M) columns where M is 8 or 14 are reported to be
  741. numbers, whereas other TIMESTAMP(M) columns are reported to be strings.
  742. This is just to ensure that you can reliably dump and restore the table
  743. with these types.
  744. Note: The behavior of TIMESTAMP columns changed considerably in MySQL
  745. 4.1. For complete information on the differences with regard to this
  746. column type in MySQL 4.1 and later versions (as opposed to MySQL 4.0
  747. and earlier versions), be sure to see [timestamp-pre-4-1] and
  748. [timestamp-4-1].
  749. ","","date-and-time-type-overview"),(67,10,"DES_DECRYPT","Syntax:
  750. DES_DECRYPT(crypt_str[,key_str])
  751. Decrypts a string encrypted with DES_ENCRYPT(). On error, this function
  752. returns NULL.
  753. Note that this function works only if MySQL has been configured with
  754. SSL support. See [secure-connections].
  755. If no key_str argument is given, DES_DECRYPT() examines the first byte
  756. of the encrypted string to determine the DES key number that was used
  757. to encrypt the original string, and then reads the key from the DES key
  758. file to decrypt the message. For this to work, the user must have the
  759. SUPER privilege. The key file can be specified with the --des-key-file
  760. server option.
  761. If you pass this function a key_str argument, that string is used as
  762. the key for decrypting the message.
  763. If the crypt_str argument does not appear to be an encrypted string,
  764. MySQL returns the given crypt_str.
  765. ","","encryption-functions"),(68,11,"ENDPOINT","EndPoint(ls)
  766. Returns the Point that is the end point of the LineString value ls.
  767. ","mysql> SET @ls = 'LineString(1 1,2 2,3 3)';
  768. mysql> SELECT AsText(EndPoint(GeomFromText(@ls)));
  769. +-------------------------------------+
  770. | AsText(EndPoint(GeomFromText(@ls))) |
  771. +-------------------------------------+
  772. | POINT(3 3)                          |
  773. +-------------------------------------+
  774. ","linestring-property-functions"),(69,22,"CACHE INDEX","Syntax:
  775. CACHE INDEX
  776.   tbl_index_list [, tbl_index_list] ...
  777.   IN key_cache_name
  778. tbl_index_list:
  779.   tbl_name [[INDEX|KEY] (index_name[, index_name] ...)]
  780. The CACHE INDEX statement assigns table indexes to a specific key
  781. cache. It is used only for MyISAM tables.
  782. The following statement assigns indexes from the tables t1, t2, and t3
  783. to the key cache named hot_cache:
  784. mysql> CACHE INDEX t1, t2, t3 IN hot_cache;
  785. +---------+--------------------+----------+----------+
  786. | Table   | Op                 | Msg_type | Msg_text |
  787. +---------+--------------------+----------+----------+
  788. | test.t1 | assign_to_keycache | status   | OK       |
  789. | test.t2 | assign_to_keycache | status   | OK       |
  790. | test.t3 | assign_to_keycache | status   | OK       |
  791. +---------+--------------------+----------+----------+
  792. ","","cache-index"),(70,30,"COMPRESS","Syntax:
  793. COMPRESS(string_to_compress)
  794. Compresses a string. This function requires MySQL to have been compiled
  795. with a compression library such as zlib. Otherwise, the return value is
  796. always NULL. The compressed string can be uncompressed with
  797. UNCOMPRESS().
  798. ","mysql> SELECT LENGTH(COMPRESS(REPEAT('a',1000)));
  799.         -> 21
  800. mysql> SELECT LENGTH(COMPRESS(''));
  801.         -> 0
  802. mysql> SELECT LENGTH(COMPRESS('a'));
  803.         -> 13
  804. mysql> SELECT LENGTH(COMPRESS(REPEAT('a',16)));
  805.         -> 15
  806. ","string-functions"),(71,14,"COUNT","Syntax:
  807. COUNT(expr)
  808. Returns a count of the number of non-NULL values in the rows retrieved
  809. by a SELECT statement.
  810. COUNT() returns 0 if there were no matching rows.
  811. ","mysql> SELECT student.student_name,COUNT(*)
  812.     ->        FROM student,course
  813.     ->        WHERE student.student_id=course.student_id
  814.     ->        GROUP BY student_name;
  815. ","group-by-functions"),(72,30,"INSERT","Syntax:
  816. INSERT(str,pos,len,newstr)
  817. Returns the string str, with the substring beginning at position pos
  818. and len characters long replaced by the string newstr. Returns the
  819. original string if pos is not within the length of the string. Replaces
  820. the rest of the string from position pos is len is not within the
  821. length of the rest of the string. Returns NULL if any argument is null.
  822. ","mysql> SELECT INSERT('Quadratic', 3, 4, 'What');
  823.         -> 'QuWhattic'
  824. mysql> SELECT INSERT('Quadratic', -1, 4, 'What');
  825.         -> 'Quadratic'
  826. mysql> SELECT INSERT('Quadratic', 3, 100, 'What');
  827.         -> 'QuWhat'
  828. ","string-functions"),(73,22,"HANDLER","Syntax:
  829. HANDLER tbl_name OPEN [ AS alias ]
  830. HANDLER tbl_name READ index_name { = | >= | <= | < } (value1,value2,...)
  831.     [ WHERE where_condition ] [LIMIT ... ]
  832. HANDLER tbl_name READ index_name { FIRST | NEXT | PREV | LAST }
  833.     [ WHERE where_condition ] [LIMIT ... ]
  834. HANDLER tbl_name READ { FIRST | NEXT }
  835.     [ WHERE where_condition ] [LIMIT ... ]
  836. HANDLER tbl_name CLOSE
  837. The HANDLER statement provides direct access to table storage engine
  838. interfaces. It is available for MyISAM tables as MySQL 4.0.0 and InnoDB
  839. tables as of MySQL 4.0.3.
  840. ","","handler"),(74,4,"MLINEFROMTEXT","MLineFromText(wkt[,srid]) , MultiLineStringFromText(wkt[,srid])
  841. Constructs a MULTILINESTRING value using its WKT representation and
  842. SRID.
  843. ","","gis-wkt-functions");
  844. insert into help_topic (help_topic_id,help_category_id,name,description,example,url) values (75,26,"GEOMCOLLFROMWKB","GeomCollFromWKB(wkb[,srid]) , GeometryCollectionFromWKB(wkb[,srid])
  845. Constructs a GEOMETRYCOLLECTION value using its WKB representation and
  846. SRID.
  847. ","","gis-wkb-functions"),(76,32,"RENAME TABLE","Syntax:
  848. RENAME TABLE tbl_name TO new_tbl_name
  849.     [, tbl_name2 TO new_tbl_name2] ...
  850. This statement renames one or more tables. It was added in MySQL
  851. 3.23.23.
  852. The rename operation is done atomically, which means that no other
  853. thread can access any of the tables while the rename is running. For
  854. example, if you have an existing table old_table, you can create
  855. another table new_table that has the same structure but is empty, and
  856. then replace the existing table with the empty one as follows:
  857. ","CREATE TABLE new_table (...);
  858. RENAME TABLE old_table TO backup_table, new_table TO old_table;
  859. ","rename-table"),(77,3,"BOOLEAN","BOOL, BOOLEAN
  860. These are synonyms for TINYINT(1). The BOOLEAN synonym was added in
  861. MySQL 4.1.0. A value of zero is considered false. Non-zero values are
  862. considered true.
  863. ","","numeric-type-overview"),(78,13,"DEFAULT","Syntax:
  864. DEFAULT(col_name)
  865. Returns the default value for a table column.
  866. ","mysql> UPDATE t SET i = DEFAULT(i)+1 WHERE id < 100;
  867. ","miscellaneous-functions"),(79,3,"TINYTEXT","TINYTEXT
  868. A TEXT column with a maximum length of 255 (28 - 1) characters.
  869. ","","string-type-overview"),(80,21,"OPTIMIZE TABLE","Syntax:
  870. OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...
  871. OPTIMIZE TABLE should be used if you have deleted a large part of a
  872. table or if you have made many changes to a table with variable-length
  873. rows (tables that have VARCHAR, BLOB, or TEXT columns). Deleted records
  874. are maintained in a linked list and subsequent INSERT operations reuse
  875. old record positions. You can use OPTIMIZE TABLE to reclaim the unused
  876. space and to defragment the data file.
  877. ","","optimize-table"),(81,10,"DECODE","Syntax:
  878. DECODE(crypt_str,pass_str)
  879. Decrypts the encrypted string crypt_str using pass_str as the password.
  880. crypt_str should be a string returned from ENCODE().
  881. ","","encryption-functions"),(82,17,"<=>","Syntax:
  882. <=>
  883. NULL-safe equal. This operator performs an equality comparison like the
  884. = operator, but returns 1 rather than NULL if both operands are NULL,
  885. and 0 rather than NULL if one operand is NULL.
  886. ","mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;
  887.         -> 1, 1, 0
  888. mysql> SELECT 1 = 1, NULL = NULL, 1 = NULL;
  889.         -> 1, NULL, NULL
  890. ","comparison-operators"),(83,22,"LOAD DATA FROM MASTER","Syntax:
  891. LOAD DATA FROM MASTER
  892. This command takes a snapshot of the master and copies it to the slave.
  893. It updates the values of MASTER_LOG_FILE and MASTER_LOG_POS so that the
  894. slave starts replicating from the correct position. Any table and
  895. database exclusion rules specified with the --replicate-*-do-* and
  896. --replicate-*-ignore-* options are honored. --replicate-rewrite-db is
  897. not taken into account. This is because a user could, with this option,
  898. set up a non-unique mapping such as --replicate-rewrite-db=db1->db3 and
  899. --replicate-rewrite-db=db2->db3, which would confuse the slave when
  900. loading tables from the master.
  901. Use of this statement is subject to the following conditions:
  902. o It works only with MyISAM tables. Attempting to load a non-MyISAM
  903.   table results in the following error:
  904. ERROR 1189 (08S01): Net error reading from master
  905. o It acquires a global read lock on the master while taking the
  906.   snapshot, which prevents updates on the master during the load
  907.   operation.
  908. If you are loading large tables, you might have to increase the values
  909. of net_read_timeout and net_write_timeout on both the master and slave
  910. servers. See [server-system-variables].
  911. Note that LOAD DATA FROM MASTER does not copy any tables from the mysql
  912. database. This makes it easy to have different users and privileges on
  913. the master and the slave.
  914. The LOAD DATA FROM MASTER statement requires the replication account
  915. that is used to connect to the master to have the RELOAD and SUPER
  916. privileges on the master and the SELECT privilege for all master tables
  917. you want to load. All master tables for which the user does not have
  918. the SELECT privilege are ignored by LOAD DATA FROM MASTER. This is
  919. because the master hides them from the user: LOAD DATA FROM MASTER
  920. calls SHOW DATABASES to know the master databases to load, but SHOW
  921. DATABASES returns only databases for which the user has some privilege.
  922. See [show-databases]. On the slave side, the user that issues LOAD DATA
  923. FROM MASTER should have grants to drop and create the databases and
  924. tables that are copied.
  925. ","","load-data-from-master"),(84,22,"RESET","Syntax:
  926. RESET reset_option [, reset_option] ...
  927. The RESET statement is used to clear the state of various server
  928. operations. It also acts as a stronger version of the FLUSH statement.
  929. See [flush].
  930. ","","reset"),(85,13,"GET_LOCK","Syntax:
  931. GET_LOCK(str,timeout)
  932. Tries to obtain a lock with a name given by the string str, with a
  933. timeout of timeout seconds. Returns 1 if the lock was obtained
  934. successfully, 0 if the attempt timed out (for example, because another
  935. client has previously locked the name), or NULL if an error occurred
  936. (such as running out of memory or the thread was killed with mysqladmin
  937. kill). If you have a lock obtained with GET_LOCK(), it is released when
  938. you execute RELEASE_LOCK(), execute a new GET_LOCK(), or your
  939. connection terminates (either normally or abnormally).
  940. This function can be used to implement application locks or to simulate
  941. record locks. Names are locked on a server-wide basis. If a name has
  942. been locked by one client, GET_LOCK() blocks any request by another
  943. client for a lock with the same name. This allows clients that agree on
  944. a given lock name to use the name to perform cooperative advisory
  945. locking. But be aware that it also allows a client that is not among
  946. the set of cooperating clients to lock a name, either inadvertently or
  947. deliberately, and thus prevent any of the cooperating clients from
  948. locking that name. One way to reduce the likelihood of this is to use
  949. lock names that are database-specific or application-specific. For
  950. example, use lock names of the form db_name.str or app_name.str.
  951. ","mysql> SELECT GET_LOCK('lock1',10);
  952.         -> 1
  953. mysql> SELECT IS_FREE_LOCK('lock2');
  954.         -> 1
  955. mysql> SELECT GET_LOCK('lock2',10);
  956.         -> 1
  957. mysql> SELECT RELEASE_LOCK('lock2');
  958.         -> 1
  959. mysql> SELECT RELEASE_LOCK('lock1');
  960.         -> NULL
  961. ","miscellaneous-functions"),(86,30,"UCASE","Syntax:
  962. UCASE(str)
  963. UCASE() is a synonym for UPPER().
  964. ","","string-functions"),(87,22,"SHOW BINLOG EVENTS","Syntax:
  965. SHOW BINLOG EVENTS
  966.    [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]
  967. Shows the events in the binary log. If you do not specify 'log_name',
  968. the first binary log is displayed.
  969. ","","show-binlog-events"),(88,26,"MPOLYFROMWKB","MPolyFromWKB(wkb[,srid]) , MultiPolygonFromWKB(wkb[,srid])
  970. Constructs a MULTIPOLYGON value using its WKB representation and SRID.
  971. ","","gis-wkb-functions"),(89,22,"DO","Syntax:
  972. DO expr [, expr] ...
  973. DO executes the expressions but does not return any results. This is
  974. shorthand for SELECT expr, ..., but has the advantage that it is
  975. slightly faster when you do not care about the result.
  976. DO is useful mainly with functions that have side effects, such as
  977. RELEASE_LOCK().
  978. ","","do");
  979. insert into help_topic (help_topic_id,help_category_id,name,description,example,url) values (90,25,"CURTIME","Syntax:
  980. CURTIME()
  981. Returns the current time as a value in 'HH:MM:SS' or HHMMSS format,
  982. depending on whether the function is used in a string or numeric
  983. context.
  984. ","mysql> SELECT CURTIME();
  985.         -> '23:50:26'
  986. mysql> SELECT CURTIME() + 0;
  987.         -> 235026
  988. ","date-and-time-functions"),(91,30,"CHAR_LENGTH","Syntax:
  989. CHAR_LENGTH(str)
  990. Returns the length of the string str, measured in characters. A
  991. multi-byte character counts as a single character. This means that for
  992. a string containing five two-byte characters, LENGTH() returns 10,
  993. whereas CHAR_LENGTH() returns 5.
  994. ","","string-functions"),(92,3,"BIGINT","BIGINT[(M)] [UNSIGNED] [ZEROFILL]
  995. A large integer. The signed range is -9223372036854775808 to
  996. 9223372036854775807. The unsigned range is 0 to 18446744073709551615.
  997. ","","numeric-type-overview"),(93,22,"SET","Syntax:
  998. SET variable_assignment [, variable_assignment] ...
  999. variable_assignment:
  1000.       user_var_name = expr
  1001.     | [GLOBAL | SESSION] system_var_name = expr
  1002.     | @@[global. | session.]system_var_name = expr
  1003. SET sets different types of variables that affect the operation of the
  1004. server or your client. It can be used to assign values to user
  1005. variables or system variables.
  1006. ","","set-option"),(94,3,"DATE","DATE
  1007. A date. The supported range is '1000-01-01' to '9999-12-31'. MySQL
  1008. displays DATE values in 'YYYY-MM-DD' format, but allows you to assign
  1009. values to DATE columns using either strings or numbers.
  1010. ","","date-and-time-type-overview"),(95,30,"CONV","Syntax:
  1011. CONV(N,from_base,to_base)
  1012. Converts numbers between different number bases. Returns a string
  1013. representation of the number N, converted from base from_base to base
  1014. to_base. Returns NULL if any argument is NULL. The argument N is
  1015. interpreted as an integer, but may be specified as an integer or a
  1016. string. The minimum base is 2 and the maximum base is 36. If to_base is
  1017. a negative number, N is regarded as a signed number. Otherwise, N is
  1018. treated as unsigned. CONV() works with 64-bit precision.
  1019. ","mysql> SELECT CONV('a',16,2);
  1020.         -> '1010'
  1021. mysql> SELECT CONV('6E',18,8);
  1022.         -> '172'
  1023. mysql> SELECT CONV(-17,10,-18);
  1024.         -> '-H'
  1025. mysql> SELECT CONV(10+'10'+'10'+0xa,10,10);
  1026.         -> '40'
  1027. ","string-functions"),(96,25,"EXTRACT","Syntax:
  1028. EXTRACT(type FROM date)
  1029. The EXTRACT() function uses the same kinds of interval type specifiers
  1030. as DATE_ADD() or DATE_SUB(), but extracts parts from the date rather
  1031. than performing date arithmetic.
  1032. ","mysql> SELECT EXTRACT(YEAR FROM '1999-07-02');
  1033.        -> 1999
  1034. mysql> SELECT EXTRACT(YEAR_MONTH FROM '1999-07-02 01:02:03');
  1035.        -> 199907
  1036. mysql> SELECT EXTRACT(DAY_MINUTE FROM '1999-07-02 01:02:03');
  1037.        -> 20102
  1038. mysql> SELECT EXTRACT(MICROSECOND
  1039.     ->                FROM '2003-01-02 10:30:00.00123');
  1040.         -> 123
  1041. ","date-and-time-functions"),(97,10,"ENCRYPT","Syntax:
  1042. ENCRYPT(str[,salt])
  1043. Encrypt str using the Unix crypt() system call. The salt argument
  1044. should be a string with two characters. (As of MySQL 3.22.16, salt may
  1045. be longer than two characters.) If no salt argument is given, a random
  1046. value is used.
  1047. ","mysql> SELECT ENCRYPT('hello');
  1048.         -> 'VxuFAJXVARROc'
  1049. ","encryption-functions"),(98,10,"OLD_PASSWORD","Syntax:
  1050. OLD_PASSWORD(str)
  1051. OLD_PASSWORD() is available as of MySQL 4.1, when the implementation of
  1052. PASSWORD() was changed to improve security. OLD_PASSWORD() returns the
  1053. value of the pre-4.1 implementation of PASSWORD(), and is intended to
  1054. permit you to reset passwords for any pre-4.1 clients that need to
  1055. connect to your version 4.1 MySQL server without locking them out. See
  1056. [password-hashing].
  1057. ","","encryption-functions"),(99,13,"FORMAT","Syntax:
  1058. FORMAT(X,D)
  1059. Formats the number X to a format like '#,###,###.##', rounded to D
  1060. decimals, and returns the result as a string. If D is 0, the result has
  1061. no decimal point or fractional part.
  1062. ","mysql> SELECT FORMAT(12332.123456, 4);
  1063.         -> '12,332.1235'
  1064. mysql> SELECT FORMAT(12332.1,4);
  1065.         -> '12,332.1000'
  1066. mysql> SELECT FORMAT(12332.2,0);
  1067.         -> '12,332'
  1068. ","miscellaneous-functions"),(100,12,"||","Syntax:
  1069. OR, ||
  1070. Logical OR. When both operands are non-NULL, the result is 1 if any
  1071. operand is non-zero, and 0 otherwise. With a NULL operand, the result
  1072. is 1 if the other operand is non-zero, and NULL otherwise. If both
  1073. operands are NULL, the result is NULL.
  1074. ","mysql> SELECT 1 || 1;
  1075.         -> 1
  1076. mysql> SELECT 1 || 0;
  1077.         -> 1
  1078. mysql> SELECT 0 || 0;
  1079.         -> 0
  1080. mysql> SELECT 0 || NULL;
  1081.         -> NULL
  1082. mysql> SELECT 1 || NULL;
  1083.         -> 1
  1084. ","logical-operators"),(101,7,"CASE","Syntax:
  1085. CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN
  1086. result ...] [ELSE result] END
  1087. CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...]
  1088. [ELSE result] END
  1089. The first version returns the result where value=compare-value. The
  1090. second version returns the result for the first condition that is true.
  1091. If there was no matching result value, the result after ELSE is
  1092. returned, or NULL if there is no ELSE part.
  1093. ","mysql> SELECT CASE 1 WHEN 1 THEN 'one'
  1094.     ->     WHEN 2 THEN 'two' ELSE 'more' END;
  1095.         -> 'one'
  1096. mysql> SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END;
  1097.         -> 'true'
  1098. mysql> SELECT CASE BINARY 'B'
  1099.     ->     WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;
  1100.         -> NULL
  1101. ","control-flow-functions"),(102,30,"BIT_LENGTH","Syntax:
  1102. BIT_LENGTH(str)
  1103. Returns the length of the string str in bits.
  1104. ","mysql> SELECT BIT_LENGTH('text');
  1105.         -> 32
  1106. ","string-functions"),(103,2,"EXTERIORRING","ExteriorRing(poly)
  1107. Returns the exterior ring of the Polygon value poly as a LineString.
  1108. ","mysql> SET @poly =
  1109.     -> 'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))';
  1110. mysql> SELECT AsText(ExteriorRing(GeomFromText(@poly)));
  1111. +-------------------------------------------+
  1112. | AsText(ExteriorRing(GeomFromText(@poly))) |
  1113. +-------------------------------------------+
  1114. | LINESTRING(0 0,0 3,3 3,3 0,0 0)           |
  1115. +-------------------------------------------+
  1116. ","polygon-property-functions"),(104,26,"GEOMFROMWKB","GeomFromWKB(wkb[,srid]) , GeometryFromWKB(wkb[,srid])
  1117. Constructs a geometry value of any type using its WKB representation
  1118. and SRID.
  1119. ","","gis-wkb-functions");
  1120. insert into help_topic (help_topic_id,help_category_id,name,description,example,url) values (105,22,"SHOW SLAVE HOSTS","Syntax:
  1121. SHOW SLAVE HOSTS
  1122. Displays a list of replication slaves currently registered with the
  1123. master. Any slave not started with the --report-host=slave_name option
  1124. is not visible in this list.
  1125. ","","show-slave-hosts"),(106,8,"START TRANSACTION","Syntax:
  1126. START TRANSACTION | BEGIN [WORK]
  1127. COMMIT
  1128. ROLLBACK
  1129. SET AUTOCOMMIT = {0 | 1}
  1130. The START TRANSACTION or BEGIN statement begin a new transaction.
  1131. COMMIT commits the current transaction, making its changes permanent.
  1132. ROLLBACK rolls back the current transaction, canceling its changes. The
  1133. SET AUTOCOMMIT statement disables or enables the default autocommit
  1134. mode for the current connection.
  1135. By default, MySQL runs with autocommit mode enabled. This means that as
  1136. soon as you execute a statement that updates (modifies) a table, MySQL
  1137. stores the update on disk.
  1138. If you are using a transaction-safe storage engine (like InnoDB, BDB or
  1139. NDB Cluster), you can disable autocommit mode with the following
  1140. statement:
  1141. SET AUTOCOMMIT=0;
  1142. After disabling autocommit mode by setting the AUTOCOMMIT variable to
  1143. zero, you must use COMMIT to store your changes to disk or ROLLBACK if
  1144. you want to ignore the changes you have made since the beginning of
  1145. your transaction.
  1146. If you want to disable autocommit mode for a single series of
  1147. statements, you can use the START TRANSACTION statement:
  1148. ","START TRANSACTION;
  1149. SELECT @A:=SUM(salary) FROM table1 WHERE type=1;
  1150. UPDATE table2 SET summary=@A WHERE type=1;
  1151. COMMIT;
  1152. ","commit"),(107,17,"BETWEEN AND","Syntax:
  1153. expr BETWEEN min AND max
  1154. If expr is greater than or equal to min and expr is less than or equal
  1155. to max, BETWEEN returns 1, otherwise it returns 0. This is equivalent
  1156. to the expression (min <= expr AND expr <= max) if all the arguments
  1157. are of the same type. Otherwise type conversion takes place according
  1158. to the rules described at the beginning of this section, but applied to
  1159. all the three arguments. Note: Before MySQL 4.0.5, arguments were
  1160. converted to the type of expr instead.
  1161. ","mysql> SELECT 1 BETWEEN 2 AND 3;
  1162.         -> 0
  1163. mysql> SELECT 'b' BETWEEN 'a' AND 'c';
  1164.         -> 1
  1165. mysql> SELECT 2 BETWEEN 2 AND '3';
  1166.         -> 1
  1167. mysql> SELECT 2 BETWEEN 2 AND 'x-3';
  1168.         -> 0
  1169. ","comparison-operators"),(108,19,"MULTIPOLYGON","MultiPolygon(poly1,poly2,...)
  1170. Constructs a WKB MultiPolygon value from a set of WKB Polygon
  1171. arguments. If any argument is not a WKB Polygon, the return value is
  1172. NULL.
  1173. ","","gis-mysql-specific-functions"),(109,25,"TIME_FORMAT","Syntax:
  1174. TIME_FORMAT(time,format)
  1175. This is used like the DATE_FORMAT() function, but the format string may
  1176. contain only those format specifiers that handle hours, minutes, and
  1177. seconds. Other specifiers produce a NULL value or 0.
  1178. ","mysql> SELECT TIME_FORMAT('100:00:00', '%H %k %h %I %l');
  1179.         -> '100 100 04 04 4'
  1180. ","date-and-time-functions"),(110,30,"LEFT","Syntax:
  1181. LEFT(str,len)
  1182. Returns the leftmost len characters from the string str.
  1183. ","mysql> SELECT LEFT('foobarbar', 5);
  1184.         -> 'fooba'
  1185. ","string-functions"),(111,21,"FLUSH QUERY CACHE","You can defragment the query cache to better utilize its memory with
  1186. the FLUSH QUERY CACHE statement. The statement does not remove any
  1187. queries from the cache.
  1188. The RESET QUERY CACHE statement removes all query results from the
  1189. query cache. The FLUSH TABLES statement also does this.
  1190. ","","query-cache-status-and-maintenance"),(112,3,"SET DATA TYPE","SET('value1','value2',...)
  1191. A set. A string object that can have zero or more values, each of which
  1192. must be chosen from the list of values 'value1', 'value2', ... A SET
  1193. column can have a maximum of 64 members. SET values are represented
  1194. internally as integers.
  1195. ","","string-type-overview"),(113,5,"RAND","Syntax:
  1196. RAND() RAND(N)
  1197. Returns a random floating-point value v between 0 and 1 inclusive (that
  1198. is, in the range 0 <= v <= 1.0). If an integer argument N is specified,
  1199. it is used as the seed value, which produces a repeatable sequence.
  1200. ","mysql> SELECT RAND();
  1201.         -> 0.9233482386203
  1202. mysql> SELECT RAND(20);
  1203.         -> 0.15888261251047
  1204. mysql> SELECT RAND(20);
  1205.         -> 0.15888261251047
  1206. mysql> SELECT RAND();
  1207.         -> 0.63553050033332
  1208. mysql> SELECT RAND();
  1209.         -> 0.70100469486881
  1210. mysql> SELECT RAND(20);
  1211.         -> 0.15888261251047
  1212. ","mathematical-functions"),(114,30,"RPAD","Syntax:
  1213. RPAD(str,len,padstr)
  1214. Returns the string str, right-padded with the string padstr to a length
  1215. of len characters. If str is longer than len, the return value is
  1216. shortened to len characters.
  1217. ","mysql> SELECT RPAD('hi',5,'?');
  1218.         -> 'hi???'
  1219. mysql> SELECT RPAD('hi',1,'?');
  1220.         -> 'h'
  1221. ","string-functions"),(115,22,"INSERT INTO","Syntax:
  1222. INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
  1223.     [INTO] tbl_name [(col_name,...)]
  1224.     VALUES ({expr | DEFAULT},...),(...),...
  1225.     [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
  1226. Or:
  1227. INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
  1228.     [INTO] tbl_name
  1229.     SET col_name={expr | DEFAULT}, ...
  1230.     [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
  1231. Or:
  1232. INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
  1233.     [INTO] tbl_name [(col_name,...)]
  1234.     SELECT ...
  1235.     [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
  1236. INSERT inserts new rows into an existing table. The INSERT ... VALUES
  1237. and INSERT ... SET forms of the statement insert rows based on
  1238. explicitly specified values. The INSERT ... SELECT form inserts rows
  1239. selected from another table or tables. The INSERT ... VALUES form with
  1240. multiple value lists is supported in MySQL 3.22.5 or later. The INSERT
  1241. ... SET syntax is supported in MySQL 3.22.10 or later. INSERT ...
  1242. SELECT is discussed further in [insert-select].
  1243. ","","insert"),(116,32,"CREATE DATABASE","Syntax:
  1244. CREATE DATABASE [IF NOT EXISTS] db_name
  1245.     [create_specification [, create_specification] ...]
  1246. create_specification:
  1247.     [DEFAULT] CHARACTER SET charset_name
  1248.   | [DEFAULT] COLLATE collation_name
  1249. CREATE DATABASE creates a database with the given name. To use CREATE
  1250. DATABASE, you need the CREATE privilege on the database.
  1251. ","","create-database"),(117,3,"DEC","DEC[(M[,D])] [UNSIGNED] [ZEROFILL], NUMERIC[(M[,D])] [UNSIGNED]
  1252. [ZEROFILL], FIXED[(M[,D])] [UNSIGNED] [ZEROFILL]
  1253. These are synonyms for DECIMAL. The FIXED synonym was added in MySQL
  1254. 4.1.0 for compatibility with other servers.
  1255. ","","numeric-type-overview"),(118,30,"ELT","Syntax:
  1256. ELT(N,str1,str2,str3,...)
  1257. Returns str1 if N = 1, str2 if N = 2, and so on. Returns NULL if N is
  1258. less than 1 or greater than the number of arguments. ELT() is the
  1259. complement of FIELD().
  1260. ","mysql> SELECT ELT(1, 'ej', 'Heja', 'hej', 'foo');
  1261.         -> 'ej'
  1262. mysql> SELECT ELT(4, 'ej', 'Heja', 'hej', 'foo');
  1263.         -> 'foo'
  1264. ","string-functions"),(119,18,"~","Syntax:
  1265. ~
  1266. Invert all bits.
  1267. ","mysql> SELECT 5 & ~1;
  1268.         -> 4
  1269. ","bit-functions");
  1270. insert into help_topic (help_topic_id,help_category_id,name,description,example,url) values (120,3,"TEXT","TEXT[(M)]
  1271. A TEXT column with a maximum length of 65,535 (216 - 1) characters.
  1272. Beginning with MySQL 4.1, an optional length M can be given. MySQL will
  1273. create the column as the smallest TEXT type largest enough to hold
  1274. values M characters long.
  1275. ","","string-type-overview"),(121,30,"CONCAT_WS","Syntax:
  1276. CONCAT_WS(separator,str1,str2,...)
  1277. CONCAT_WS() stands for CONCAT With Separator and is a special form of
  1278. CONCAT(). The first argument is the separator for the rest of the
  1279. arguments. The separator is added between the strings to be
  1280. concatenated. The separator can be a string as can the rest of the
  1281. arguments. If the separator is NULL, the result is NULL. The function
  1282. skips any NULL values after the separator argument.
  1283. ","mysql> SELECT CONCAT_WS(',','First name','Second name','Last Name');
  1284.         -> 'First name,Second name,Last Name'
  1285. mysql> SELECT CONCAT_WS(',','First name',NULL,'Last Name');
  1286.         -> 'First name,Last Name'
  1287. ","string-functions"),(122,5,"ASIN","Syntax:
  1288. ASIN(X)
  1289. Returns the arc sine of X, that is, the value whose sine is X. Returns
  1290. NULL if X is not in the range -1 to 1.
  1291. ","mysql> SELECT ASIN(0.2);
  1292.         -> 0.201358
  1293. mysql> SELECT ASIN('foo');
  1294.         -> 0.000000
  1295. ","mathematical-functions"),(123,31,"FUNCTION","Syntax:
  1296. CREATE [AGGREGATE] FUNCTION function_name RETURNS {STRING|INTEGER|REAL}
  1297.        SONAME shared_library_name
  1298. DROP FUNCTION function_name
  1299. A user-defined function (UDF) is a way to extend MySQL with a new
  1300. function that works like a native (built-in) MySQL function such as
  1301. ABS() or CONCAT().
  1302. function_name is the name that should be used in SQL statements to
  1303. invoke the function. The RETURNS clause indicates the type of the
  1304. function's return value. shared_library_name is the basename of the
  1305. shared object file that contains the code that implements the function.
  1306. The file must be located in a directory that is searched by your
  1307. system's dynamic linker.
  1308. To create a function, you must have the INSERT and privilege for the
  1309. mysql database. To drop a function, you must have the DELETE privilege
  1310. for the mysql database. This is because CREATE FUNCTION adds a row to
  1311. the mysql.func system table that records the function's name, type, and
  1312. shared library name, and DROP FUNCTION deletes the function's row from
  1313. that table. If you do not have this table, you should run the
  1314. mysql_fix_privilege_tables script to create it. See
  1315. [upgrading-grant-tables].
  1316. ","","create-function"),(124,5,"SIGN","Syntax:
  1317. SIGN(X)
  1318. Returns the sign of the argument as -1, 0, or 1, depending on whether X
  1319. is negative, zero, or positive.
  1320. ","mysql> SELECT SIGN(-32);
  1321.         -> -1
  1322. mysql> SELECT SIGN(0);
  1323.         -> 0
  1324. mysql> SELECT SIGN(234);
  1325.         -> 1
  1326. ","mathematical-functions"),(125,25,"SEC_TO_TIME","Syntax:
  1327. SEC_TO_TIME(seconds)
  1328. Returns the seconds argument, converted to hours, minutes, and seconds,
  1329. as a value in 'HH:MM:SS' or HHMMSS format, depending on whether the
  1330. function is used in a string or numeric context.
  1331. ","mysql> SELECT SEC_TO_TIME(2378);
  1332.         -> '00:39:38'
  1333. mysql> SELECT SEC_TO_TIME(2378) + 0;
  1334.         -> 3938
  1335. ","date-and-time-functions"),(126,3,"FLOAT","FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
  1336. A small (single-precision) floating-point number. Allowable values are
  1337. -3.402823466E+38 to -1.175494351E-38, 0, and 1.175494351E-38 to
  1338. 3.402823466E+38. These are the theoretical limits, based on the IEEE
  1339. standard. The actual range might be slightly smaller depending on your
  1340. hardware or operating system.
  1341. M is the total number of decimal digits and D is the number of digits
  1342. following the decimal point. If M and D are omitted, values are stored
  1343. to the limits allowed by the hardware. A single-precision
  1344. floating-point number is accurate to approximately 7 decimal places.
  1345. If UNSIGNED is specified, negative values are disallowed.
  1346. Using FLOAT might give you some unexpected problems because all
  1347. calculations in MySQL are done with double precision. See
  1348. [no-matching-rows].
  1349. ","","numeric-type-overview"),(127,30,"LOCATE","Syntax:
  1350. LOCATE(substr,str) , LOCATE(substr,str,pos)
  1351. The first syntax returns the position of the first occurrence of
  1352. substring substr in string str. The second syntax returns the position
  1353. of the first occurrence of substring substr in string str, starting at
  1354. position pos. Returns 0 if substr is not in str.
  1355. ","mysql> SELECT LOCATE('bar', 'foobarbar');
  1356.         -> 4
  1357. mysql> SELECT LOCATE('xbar', 'foobar');
  1358.         -> 0
  1359. mysql> SELECT LOCATE('bar', 'foobarbar',5);
  1360.         -> 7
  1361. ","string-functions"),(128,15,"CHARSET","Syntax:
  1362. CHARSET(str)
  1363. Returns the character set of the string argument.
  1364. ","mysql> SELECT CHARSET('abc');
  1365.         -> 'latin1'
  1366. mysql> SELECT CHARSET(CONVERT('abc' USING utf8));
  1367.         -> 'utf8'
  1368. mysql> SELECT CHARSET(USER());
  1369.         -> 'utf8'
  1370. ","information-functions"),(129,25,"SUBDATE","Syntax:
  1371. SUBDATE(date,INTERVAL expr type) SUBDATE(expr,days)
  1372. When invoked with the INTERVAL form of the second argument, SUBDATE()
  1373. is a synonym for DATE_SUB(). For information on the INTERVAL argument,
  1374. see the discussion for DATE_ADD().
  1375. mysql> SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY);
  1376.         -> '1997-12-02'
  1377. mysql> SELECT SUBDATE('1998-01-02', INTERVAL 31 DAY);
  1378.         -> '1997-12-02'
  1379. As of MySQL 4.1.1, the second syntax is allowed, where expr is a date
  1380. or datetime expression and days is the number of days to be subtracted
  1381. from expr.
  1382. mysql> SELECT SUBDATE('1998-01-02 12:00:00', 31);
  1383.         -> '1997-12-02 12:00:00'
  1384. Note that you cannot use format "%X%V" to convert a year-week string to
  1385. a date as the combination of a year and week does not uniquely identify
  1386. a year and month if the week crosses a month boundary. To convert a
  1387. year-week to a date, then you should also specify the weekday:
  1388. mysql> select str_to_date('200442 Monday', '%X%V %W');
  1389. -> 2004-10-18
  1390. ","","date-and-time-functions"),(130,25,"DAYOFYEAR","Syntax:
  1391. DAYOFYEAR(date)
  1392. Returns the day of the year for date, in the range 1 to 366.
  1393. ","mysql> SELECT DAYOFYEAR('1998-02-03');
  1394.         -> 34
  1395. ","date-and-time-functions"),(131,5,"%","Syntax:
  1396. MOD(N,M) , N % M N MOD M
  1397. Modulo operation. Returns the remainder of N divided by M.
  1398. ","mysql> SELECT MOD(234, 10);
  1399.         -> 4
  1400. mysql> SELECT 253 % 7;
  1401.         -> 1
  1402. mysql> SELECT MOD(29,9);
  1403.         -> 2
  1404. mysql> SELECT 29 MOD 9;
  1405.         -> 2
  1406. ","mathematical-functions"),(132,3,"LONGTEXT","LONGTEXT
  1407. A TEXT column with a maximum length of 4,294,967,295 or 4GB (232 - 1)
  1408. characters. Up to MySQL 3.23, the client/server protocol and MyISAM
  1409. tables had a limit of 16MB per communication packet or table row. From
  1410. MySQL 4.0, the maximum allowed length of LONGTEXT columns depends on
  1411. the configured maximum packet size in the client/server protocol and
  1412. available memory.
  1413. ","","string-type-overview"),(133,24,"DISJOINT","Disjoint(g1,g2)
  1414. Returns 1 or 0 to indicate whether or not g1 is spatially disjoint from
  1415. (does not intersect) g2.
  1416. ","","functions-that-test-spatial-relationships-between-geometries"),(134,22,"KILL","Syntax:
  1417. KILL thread_id
  1418. Each connection to mysqld runs in a separate thread. You can see which
  1419. threads are running with the SHOW PROCESSLIST statement and kill a
  1420. thread with the KILL thread_id statement.
  1421. If you have the PROCESS privilege, you can see all threads. If you have
  1422. the SUPER privilege, you can kill all threads and statements.
  1423. Otherwise, you can see and kill only your own threads and statements.
  1424. You can also use the mysqladmin processlist and mysqladmin kill
  1425. commands to examine and kill threads.
  1426. Note: You cannot use KILL with the Embedded MySQL Server library,
  1427. because the embedded server merely runs inside the threads of the host
  1428. application. It does not create any connection threads of its own.
  1429. ","","kill");
  1430. insert into help_topic (help_topic_id,help_category_id,name,description,example,url) values (135,4,"ASTEXT","AsText(g)
  1431. Converts a value in internal geometry format to its WKT representation
  1432. and returns the string result.
  1433. ","mysql> SET @g = 'LineString(1 1,2 2,3 3)';
  1434. mysql> SELECT AsText(GeomFromText(@g));
  1435. +--------------------------+
  1436. | AsText(GeomFromText(@g)) |
  1437. +--------------------------+
  1438. | LINESTRING(1 1,2 2,3 3)  |
  1439. +--------------------------+
  1440. ","functions-to-convert-geometries-between-formats"),(136,30,"LPAD","Syntax:
  1441. LPAD(str,len,padstr)
  1442. Returns the string str, left-padded with the string padstr to a length
  1443. of len characters. If str is longer than len, the return value is
  1444. shortened to len characters.
  1445. ","mysql> SELECT LPAD('hi',4,'??');
  1446.         -> '??hi'
  1447. mysql> SELECT LPAD('hi',1,'??');
  1448.         -> 'h'
  1449. ","string-functions"),(137,21,"RESTORE TABLE","Syntax:
  1450. RESTORE TABLE tbl_name [, tbl_name] ... FROM '/path/to/backup/directory'
  1451. Restores the table or tables from a backup that was made with BACKUP
  1452. TABLE. Existing tables are not overwritten; if you try to restore over
  1453. an existing table, you get an error. Just as BACKUP TABLE, RESTORE
  1454. TABLE currently works only for MyISAM tables. The directory should be
  1455. specified as a full pathname.
  1456. The backup for each table consists of its .frm format file and .MYD
  1457. data file. The restore operation restores those files, then uses them
  1458. to rebuild the .MYI index file. Restoring takes longer than backing up
  1459. due to the need to rebuild the indexes. The more indexes the table has,
  1460. the longer it takes.
  1461. ","","restore-table"),(138,24,"OVERLAPS","Overlaps(g1,g2)
  1462. Returns 1 or 0 to indicate whether or not g1 spatially overlaps g2. The
  1463. term spatially overlaps is used if two geometries intersect and their
  1464. intersection results in a geometry of the same dimension but not equal
  1465. to either of the given geometries.
  1466. ","","functions-that-test-spatial-relationships-between-geometries"),(139,20,"NUMGEOMETRIES","NumGeometries(gc)
  1467. Returns the number of geometries in the GeometryCollection value gc.
  1468. ","mysql> SET @gc = 'GeometryCollection(Point(1 1),LineString(2 2, 3 3))';
  1469. mysql> SELECT NumGeometries(GeomFromText(@gc));
  1470. +----------------------------------+
  1471. | NumGeometries(GeomFromText(@gc)) |
  1472. +----------------------------------+
  1473. |                                2 |
  1474. +----------------------------------+
  1475. ","geometrycollection-property-functions"),(140,22,"SET GLOBAL SQL_SLAVE_SKIP_COUNTER","Syntax:
  1476. SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n
  1477. Skip the next n events from the master. This is useful for recovering
  1478. from replication stops caused by a statement.
  1479. This statement is valid only when the slave thread is not running.
  1480. Otherwise, it produces an error.
  1481. Before MySQL 4.0, omit the GLOBAL keyword from the statement.
  1482. ","","set-global-sql-slave-skip-counter"),(141,25,"MONTHNAME","Syntax:
  1483. MONTHNAME(date)
  1484. Returns the full name of the month for date.
  1485. ","mysql> SELECT MONTHNAME('1998-02-05');
  1486.         -> 'February'
  1487. ","date-and-time-functions"),(142,6,"MBREQUAL","MBREqual(g1,g2)
  1488. Returns 1 or 0 to indicate whether or not the Minimum Bounding
  1489. Rectangles of the two geometries g1 and g2 are the same.
  1490. ","","relations-on-geometry-mbr"),(143,22,"CHANGE MASTER TO","Syntax:
  1491.   CHANGE MASTER TO master_def [, master_def] ...
  1492. master_def:
  1493.       MASTER_HOST = 'host_name'
  1494.     | MASTER_USER = 'user_name'
  1495.     | MASTER_PASSWORD = 'password'
  1496.     | MASTER_PORT = port_num
  1497.     | MASTER_CONNECT_RETRY = count
  1498.     | MASTER_LOG_FILE = 'master_log_name'
  1499.     | MASTER_LOG_POS = master_log_pos
  1500.     | RELAY_LOG_FILE = 'relay_log_name'
  1501.     | RELAY_LOG_POS = relay_log_pos
  1502.     | MASTER_SSL = {0|1}
  1503.     | MASTER_SSL_CA = 'ca_file_name'
  1504.     | MASTER_SSL_CAPATH = 'ca_directory_name'
  1505.     | MASTER_SSL_CERT = 'cert_file_name'
  1506.     | MASTER_SSL_KEY = 'key_file_name'
  1507.     | MASTER_SSL_CIPHER = 'cipher_list'
  1508. Changes the parameters that the slave server uses for connecting to and
  1509. communicating with the master server.
  1510. MASTER_USER, MASTER_PASSWORD, MASTER_SSL, MASTER_SSL_CA,
  1511. MASTER_SSL_CAPATH, MASTER_SSL_CERT, MASTER_SSL_KEY, and
  1512. MASTER_SSL_CIPHER provide information to the slave about how to connect
  1513. to its master.
  1514. The relay log options (RELAY_LOG_FILE and RELAY_LOG_POS) are available
  1515. beginning with MySQL 4.0.
  1516. The SSL options (MASTER_SSL, MASTER_SSL_CA, MASTER_SSL_CAPATH,
  1517. MASTER_SSL_CERT, MASTER_SSL_KEY, and MASTER_SSL_CIPHER) are available
  1518. beginning with MySQL 4.1.1. You can change these options even on slaves
  1519. that are compiled without SSL support. They are saved to the
  1520. master.info file, but are ignored until you use a server that has SSL
  1521. support enabled.
  1522. If you don't specify a given parameter, it keeps its old value, except
  1523. as indicated in the following discussion. For example, if the password
  1524. to connect to your MySQL master has changed, you just need to issue
  1525. these statements to tell the slave about the new password:
  1526. mysql> STOP SLAVE; -- if replication was running
  1527. mysql> CHANGE MASTER TO MASTER_PASSWORD='new3cret';
  1528. mysql> START SLAVE; -- if you want to restart replication
  1529. There is no need to specify the parameters that do not change (host,
  1530. port, user, and so forth).
  1531. MASTER_HOST and MASTER_PORT are the hostname (or IP address) of the
  1532. master host and its TCP/IP port. Note that if MASTER_HOST is equal to
  1533. localhost, then, like in other parts of MySQL, the port may be ignored
  1534. (if Unix socket files can be used, for example).
  1535. If you specify MASTER_HOST or MASTER_PORT, the slave assumes that the
  1536. master server is different than before (even if you specify a host or
  1537. port value that is the same as the current value.) In this case, the
  1538. old values for the master binary log name and position are considered
  1539. no longer applicable, so if you do not specify MASTER_LOG_FILE and
  1540. MASTER_LOG_POS in the statement, MASTER_LOG_FILE='' and
  1541. MASTER_LOG_POS=4 are silently appended to it.
  1542. MASTER_LOG_FILE and MASTER_LOG_POS are the coordinates at which the
  1543. slave I/O thread should begin reading from the master the next time the
  1544. thread starts. If you specify either of them, you cannot specify
  1545. RELAY_LOG_FILE or RELAY_LOG_POS. If neither of MASTER_LOG_FILE or
  1546. MASTER_LOG_POS are specified, the slave uses the last coordinates of
  1547. the slave SQL thread before CHANGE MASTER was issued. This ensures that
  1548. replication has no discontinuity, even if the slave SQL thread was late
  1549. compared to the slave I/O thread, when you just want to change, say,
  1550. the password to use. This safe behavior was introduced starting from
  1551. MySQL 4.0.17 and 4.1.1. (Before these versions, the coordinates used
  1552. were the last coordinates of the slave I/O thread before CHANGE MASTER
  1553. was issued. This caused the SQL thread to possibly lose some events
  1554. from the master, thus breaking replication.)
  1555. CHANGE MASTER deletes all relay log files and starts a new one, unless
  1556. you specify RELAY_LOG_FILE or RELAY_LOG_POS. In that case, relay logs
  1557. are kept; as of MySQL 4.1.1 the relay_log_purge global variable is set
  1558. silently to 0.
  1559. CHANGE MASTER TO updates the contents of the master.info and
  1560. relay-log.info files.
  1561. CHANGE MASTER is useful for setting up a slave when you have the
  1562. snapshot of the master and have recorded the log and the offset
  1563. corresponding to it. After loading the snapshot into the slave, you can
  1564. run CHANGE MASTER TO MASTER_LOG_FILE='log_name_on_master',
  1565. MASTER_LOG_POS=log_offset_on_master on the slave.
  1566. Examples:
  1567. mysql> CHANGE MASTER TO
  1568.     ->     MASTER_HOST='master2.mycompany.com',
  1569.     ->     MASTER_USER='replication',
  1570.     ->     MASTER_PASSWORD='bigs3cret',
  1571.     ->     MASTER_PORT=3306,
  1572.     ->     MASTER_LOG_FILE='master2-bin.001',
  1573.     ->     MASTER_LOG_POS=4,
  1574.     ->     MASTER_CONNECT_RETRY=10;
  1575. mysql> CHANGE MASTER TO
  1576.     ->     RELAY_LOG_FILE='slave-relay-bin.006',
  1577.     ->     RELAY_LOG_POS=4025;
  1578. ","","change-master-to"),(144,32,"DROP DATABASE","Syntax:
  1579. DROP DATABASE [IF EXISTS] db_name
  1580. DROP DATABASE drops all tables in the database and deletes the
  1581. database. Be very careful with this statement! To use DROP DATABASE,
  1582. you need the DROP privilege on the database.
  1583. In MySQL 3.22 or later, you can use the keywords IF EXISTS to prevent
  1584. an error from occurring if the database does not exist.
  1585. ","","drop-database"),(145,25,"TIMESTAMP FUNCTION","Syntax:
  1586. TIMESTAMP(expr) , TIMESTAMP(expr,expr2)
  1587. With a single argument, this function returns the date or datetime
  1588. expression expr as a datetime value. With two arguments, it adds the
  1589. time expression expr2 to the date or datetime expression expr and
  1590. returns theresult as a datetime value.
  1591. ","mysql> SELECT TIMESTAMP('2003-12-31');
  1592.         -> '2003-12-31 00:00:00'
  1593. mysql> SELECT TIMESTAMP('2003-12-31 12:00:00','12:00:00');
  1594.         -> '2004-01-01 00:00:00'
  1595. ","date-and-time-functions"),(146,30,"CHARACTER_LENGTH","Syntax:
  1596. CHARACTER_LENGTH(str)
  1597. CHARACTER_LENGTH() is a synonym for CHAR_LENGTH().
  1598. ","","string-functions"),(147,22,"SHOW GRANTS","Syntax:
  1599. SHOW GRANTS FOR user
  1600. This statement lists the GRANT statements that must be issued to
  1601. duplicate the privileges that are granted to a MySQL user account.
  1602. mysql> SHOW GRANTS FOR 'root'@'localhost';
  1603. +---------------------------------------------------------------------+
  1604. | Grants for root@localhost                                           |
  1605. +---------------------------------------------------------------------+
  1606. | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
  1607. +---------------------------------------------------------------------+
  1608. As of MySQL 4.1.2, to list the privileges granted to the account that
  1609. you are using to connect to the server, you can use any of the
  1610. following statements:
  1611. SHOW GRANTS;
  1612. SHOW GRANTS FOR CURRENT_USER;
  1613. SHOW GRANTS FOR CURRENT_USER();
  1614. ","","show-grants"),(148,5,"CRC32","Syntax:
  1615. CRC32(expr)
  1616. Computes a cyclic redundancy check value and returns a 32-bit unsigned
  1617. value. The result is NULL if the argument is NULL. The argument is
  1618. expected to be a string and (if possible) is treated as one if it is
  1619. not.
  1620. ","mysql> SELECT CRC32('MySQL');
  1621.         -> 3259397556
  1622. ","mathematical-functions"),(149,12,"XOR","Syntax:
  1623. XOR
  1624. Logical XOR. Returns NULL if either operand is NULL. For non-NULL
  1625. operands, evaluates to 1 if an odd number of operands is non-zero,
  1626. otherwise 0 is returned.
  1627. ","mysql> SELECT 1 XOR 1;
  1628.         -> 0
  1629. mysql> SELECT 1 XOR 0;
  1630.         -> 1
  1631. mysql> SELECT 1 XOR NULL;
  1632.         -> NULL
  1633. mysql> SELECT 1 XOR 1 XOR 1;
  1634.         -> 1
  1635. ","logical-operators");
  1636. insert into help_topic (help_topic_id,help_category_id,name,description,example,url) values (150,11,"STARTPOINT","StartPoint(ls)
  1637. Returns the Point that is the start point of the LineString value ls.
  1638. ","mysql> SET @ls = 'LineString(1 1,2 2,3 3)';
  1639. mysql> SELECT AsText(StartPoint(GeomFromText(@ls)));
  1640. +---------------------------------------+
  1641. | AsText(StartPoint(GeomFromText(@ls))) |
  1642. +---------------------------------------+
  1643. | POINT(1 1)                            |
  1644. +---------------------------------------+
  1645. ","linestring-property-functions"),(151,4,"MPOLYFROMTEXT","MPolyFromText(wkt[,srid]) , MultiPolygonFromText(wkt[,srid])
  1646. Constructs a MULTIPOLYGON value using its WKT representation and SRID.
  1647. ","","gis-wkt-functions"),(152,21,"GRANT","Syntax:
  1648. GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ...
  1649.     ON {tbl_name | * | *.* | db_name.*}
  1650.     TO user [IDENTIFIED BY [PASSWORD] 'password']
  1651.         [, user [IDENTIFIED BY [PASSWORD] 'password']] ...
  1652.     [REQUIRE
  1653.         NONE |
  1654.         [{SSL| X509}]
  1655.         [CIPHER 'cipher' [AND]]
  1656.         [ISSUER 'issuer' [AND]]
  1657.         [SUBJECT 'subject']]
  1658.     [WITH with_option [with_option] ...]
  1659. with_option =
  1660.     GRANT OPTION
  1661.   | MAX_QUERIES_PER_HOUR count
  1662.   | MAX_UPDATES_PER_HOUR count
  1663.   | MAX_CONNECTIONS_PER_HOUR count
  1664. REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ...
  1665.     ON {tbl_name | * | *.* | db_name.*}
  1666.     FROM user [, user] ...
  1667. REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...
  1668. The GRANT and REVOKE statements allow system administrators to create
  1669. MySQL user accounts and to grant rights to and revoke them from
  1670. accounts. GRANT and REVOKE are implemented in MySQL 3.22.11 or later.
  1671. For earlier MySQL versions, these statements do nothing.
  1672. MySQL account information is stored in the tables of the mysql
  1673. database. This database and the access control system are discussed
  1674. extensively in [database-administration], which you should consult for
  1675. additional details.
  1676. If the grant tables hold privilege records that contain mixed-case
  1677. database or table names and the lower_case_table_names system variable
  1678. is set, REVOKE cannot be used to revoke the privileges. It will be
  1679. necessary to manipulate the grant tables directly. (GRANT will not
  1680. create such records when lower_case_table_names is set, but such
  1681. records might have been created prior to setting the variable.)
  1682. Privileges can be granted at several levels:
  1683. o Global level
  1684.   Global privileges apply to all databases on a given server. These
  1685.   privileges are stored in the mysql.user table. GRANT ALL ON *.* and
  1686.   REVOKE ALL ON *.* grant and revoke only global privileges.
  1687. o Database level
  1688.   Database privileges apply to all tables in a given database. These
  1689.   privileges are stored in the mysql.db and mysql.host tables. GRANT
  1690.   ALL ON db_name.* and REVOKE ALL ON db_name.* grant and revoke only
  1691.   database privileges.
  1692. o Table level
  1693.   Table privileges apply to all columns in a given table. These
  1694.   privileges are stored in the mysql.tables_priv table. GRANT ALL ON
  1695.   db_name.tbl_name and REVOKE ALL ON db_name.tbl_name grant and revoke
  1696.   only table privileges.
  1697. o Column level
  1698.   Column privileges apply to single columns in a given table. These
  1699.   privileges are stored in the mysql.columns_priv table. When using
  1700.   REVOKE, you must specify the same columns that were granted.
  1701. ","","grant"),(153,6,"MBRINTERSECTS","MBRIntersects(g1,g2)
  1702. Returns 1 or 0 to indicate whether or not the Minimum Bounding
  1703. Rectangles of the two geometries g1 and g2 intersect.
  1704. ","","relations-on-geometry-mbr"),(154,14,"BIT_OR","Syntax:
  1705. BIT_OR(expr)
  1706. Returns the bitwise OR of all bits in expr. The calculation is
  1707. performed with 64-bit (BIGINT) precision.
  1708. ","","group-by-functions"),(155,25,"YEARWEEK","Syntax:
  1709. YEARWEEK(date), YEARWEEK(date,start)
  1710. Returns year and week for a date. The start argument works exactly like
  1711. the start argument to WEEK(). The year in the result may be different
  1712. from the year in the date argument for the first and the last week of
  1713. the year.
  1714. ","mysql> SELECT YEARWEEK('1987-01-01');
  1715.         -> 198653
  1716. ","date-and-time-functions"),(156,17,"NOT BETWEEN","Syntax:
  1717. expr NOT BETWEEN min AND max
  1718. This is the same as NOT (expr BETWEEN min AND max).
  1719. ","","comparison-operators"),(157,5,"LOG10","Syntax:
  1720. LOG10(X)
  1721. Returns the base-10 logarithm of X.
  1722. ","mysql> SELECT LOG10(2);
  1723.         -> 0.301030
  1724. mysql> SELECT LOG10(100);
  1725.         -> 2.000000
  1726. mysql> SELECT LOG10(-100);
  1727.         -> NULL
  1728. ","mathematical-functions"),(158,5,"SQRT","Syntax:
  1729. SQRT(X)
  1730. Returns the square root of a non-negative number X.
  1731. ","mysql> SELECT SQRT(4);
  1732.         -> 2
  1733. mysql> SELECT SQRT(20);
  1734.         -> 4.4721359549996
  1735. mysql> SELECT SQRT(-16);
  1736.         -> NULL        
  1737. ","mathematical-functions"),(159,3,"DECIMAL","DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
  1738. An unpacked fixed-point number. Behaves like a CHAR column; "unpacked"
  1739. means the number is stored as a string, using one character for each
  1740. digit of the value. M is the total number of digits and D is the number
  1741. of digits after the decimal point. The decimal point and (for negative
  1742. numbers) the `-' sign are not counted in M, although space for them is
  1743. reserved. If D is 0, values have no decimal point or fractional part.
  1744. The maximum range of DECIMAL values is the same as for DOUBLE, but the
  1745. actual range for a given DECIMAL column may be constrained by the
  1746. choice of M and D. If D is omitted, the default is 0. If M is omitted,
  1747. the default is 10.
  1748. If UNSIGNED is specified, negative values are disallowed.
  1749. Note: Before MySQL 3.23, the value of M must be large enough to include
  1750. the space needed for the sign and the decimal point characters.
  1751. ","","numeric-type-overview"),(160,20,"GEOMETRYN","GeometryN(gc,n)
  1752. Returns the n-th geometry in the GeometryCollection value gc. Geometry
  1753. numbers begin at 1.
  1754. ","mysql> SET @gc = 'GeometryCollection(Point(1 1),LineString(2 2, 3 3))';
  1755. mysql> SELECT AsText(GeometryN(GeomFromText(@gc),1));
  1756. +----------------------------------------+
  1757. | AsText(GeometryN(GeomFromText(@gc),1)) |
  1758. +----------------------------------------+
  1759. | POINT(1 1)                             |
  1760. +----------------------------------------+
  1761. ","geometrycollection-property-functions"),(161,32,"CREATE INDEX","Syntax:
  1762. CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
  1763.     [USING index_type]
  1764.     ON tbl_name (index_col_name,...)
  1765. index_col_name:
  1766.     col_name [(length)] [ASC | DESC]
  1767. In MySQL 3.22 or later, CREATE INDEX is mapped to an ALTER TABLE
  1768. statement to create indexes. See [alter-table]. The CREATE INDEX
  1769. statement does not do anything prior to MySQL 3.22.
  1770. ","","create-index"),(162,32,"ALTER DATABASE","Syntax:
  1771. ALTER DATABASE [db_name]
  1772.     alter_specification [, alter_specification] ...
  1773. alter_specification:
  1774.     [DEFAULT] CHARACTER SET charset_name
  1775.   | [DEFAULT] COLLATE collation_name
  1776. ALTER DATABASE allows you to change the overall characteristics of a
  1777. database. These characteristics are stored in the db.opt file in the
  1778. database directory. To use ALTER DATABASE, you need the ALTER privilege
  1779. on the database.
  1780. ","","alter-database"),(163,18,"<<","Syntax:
  1781. <<
  1782. Shifts a longlong (BIGINT) number to the left.
  1783. ","mysql> SELECT 1 << 2;
  1784.         -> 4
  1785. ","bit-functions"),(164,10,"MD5","Syntax:
  1786. MD5(str)
  1787. Calculates an MD5 128-bit checksum for the string. The value is
  1788. returned as a binary string of 32 hex digits, or NULL if the argument
  1789. was NULL. The return value can, for example, be used as a hash key.
  1790. ","mysql> SELECT MD5('testing');
  1791.         -> 'ae2b1fca515949e5d54fb22b8ed95575'
  1792. ","encryption-functions");
  1793. insert into help_topic (help_topic_id,help_category_id,name,description,example,url) values (165,17,"<","Syntax:
  1794. <
  1795. Less than:
  1796. ","mysql> SELECT 2 < 2;
  1797.         -> 0
  1798. ","comparison-operators"),(166,25,"UNIX_TIMESTAMP","Syntax:
  1799. UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)
  1800. If called with no argument, returns a Unix timestamp (seconds since
  1801. '1970-01-01 00:00:00' GMT) as an unsigned integer. If UNIX_TIMESTAMP()
  1802. is called with a date argument, it returns the value of the argument as
  1803. seconds since '1970-01-01 00:00:00' GMT. date may be a DATE string, a
  1804. DATETIME string, a TIMESTAMP, or a number in the format YYMMDD or
  1805. YYYYMMDD in local time.
  1806. ","mysql> SELECT UNIX_TIMESTAMP();
  1807.         -> 882226357
  1808. mysql> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00');
  1809.         -> 875996580
  1810. ","date-and-time-functions"),(167,25,"DAYOFMONTH","Syntax:
  1811. DAYOFMONTH(date)
  1812. Returns the day of the month for date, in the range 1 to 31.
  1813. ","mysql> SELECT DAYOFMONTH('1998-02-03');
  1814.         -> 3
  1815. ","date-and-time-functions"),(168,30,"ASCII","Syntax:
  1816. ASCII(str)
  1817. Returns the numeric value of the leftmost character of the string str.
  1818. Returns 0 if str is the empty string. Returns NULL if str is NULL.
  1819. ASCII() works for characters with numeric values from 0 to 255.
  1820. ","mysql> SELECT ASCII('2');
  1821.         -> 50
  1822. mysql> SELECT ASCII(2);
  1823.         -> 50
  1824. mysql> SELECT ASCII('dx');
  1825.         -> 100
  1826. ","string-functions"),(169,5,"DIV","Syntax:
  1827. DIV
  1828. Integer division. Similar to FLOOR() but safe with BIGINT values.
  1829. ","mysql> SELECT 5 DIV 2;
  1830.         -> 2
  1831. ","arithmetic-functions"),(170,22,"SHOW SLAVE STATUS","Syntax:
  1832. SHOW SLAVE STATUS
  1833. Provides status information on essential parameters of the slave
  1834. threads. If you issue this statement using the mysql client, you can
  1835. use a \G statement terminator rather than a semicolon to obtain a more
  1836. readable vertical layout:
  1837. mysql> SHOW SLAVE STATUS\G
  1838. *************************** 1. row ***************************
  1839.        Slave_IO_State: Waiting for master to send event
  1840.           Master_Host: localhost
  1841.           Master_User: root
  1842.           Master_Port: 3306
  1843.         Connect_Retry: 3
  1844.       Master_Log_File: gbichot-bin.005
  1845.   Read_Master_Log_Pos: 79
  1846.        Relay_Log_File: gbichot-relay-bin.005
  1847.         Relay_Log_Pos: 548
  1848. Relay_Master_Log_File: gbichot-bin.005
  1849.      Slave_IO_Running: Yes
  1850.     Slave_SQL_Running: Yes
  1851.       Replicate_Do_DB:
  1852.   Replicate_Ignore_DB:
  1853.            Last_Errno: 0
  1854.            Last_Error:
  1855.          Skip_Counter: 0
  1856.   Exec_Master_Log_Pos: 79
  1857.       Relay_Log_Space: 552
  1858.       Until_Condition: None
  1859.        Until_Log_File:
  1860.         Until_Log_Pos: 0
  1861.    Master_SSL_Allowed: No
  1862.    Master_SSL_CA_File:
  1863.    Master_SSL_CA_Path:
  1864.       Master_SSL_Cert:
  1865.     Master_SSL_Cipher:
  1866.        Master_SSL_Key:
  1867. Seconds_Behind_Master: 8
  1868. ","","show-slave-status"),(171,27,"GEOMETRY","MySQL provides a standard way of creating spatial columns for geometry
  1869. types, for example, with CREATE TABLE or ALTER TABLE. Currently,
  1870. spatial columns are supported only for MyISAM tables.
  1871. ","mysql> CREATE TABLE geom (g GEOMETRY);
  1872. Query OK, 0 rows affected (0.02 sec)
  1873. ","creating-spatial-columns"),(172,11,"NUMPOINTS","NumPoints(ls)
  1874. Returns the number of points in the LineString value ls.
  1875. ","mysql> SET @ls = 'LineString(1 1,2 2,3 3)';
  1876. mysql> SELECT NumPoints(GeomFromText(@ls));
  1877. +------------------------------+
  1878. | NumPoints(GeomFromText(@ls)) |
  1879. +------------------------------+
  1880. |                            3 |
  1881. +------------------------------+
  1882. ","linestring-property-functions"),(173,18,"&","Syntax:
  1883. &
  1884. Bitwise AND:
  1885. ","mysql> SELECT 29 & 15;
  1886.         -> 13
  1887. ","bit-functions"),(174,25,"LOCALTIMESTAMP","Syntax:
  1888. LOCALTIMESTAMP, LOCALTIMESTAMP()
  1889. LOCALTIMESTAMP and LOCALTIMESTAMP() are synonyms for NOW().
  1890. ","","date-and-time-functions"),(175,25,"ADDDATE","Syntax:
  1891. ADDDATE(date,INTERVAL expr type) ADDDATE(expr,days)
  1892. When invoked with the INTERVAL form of the second argument, ADDDATE()
  1893. is a synonym for DATE_ADD(). The related function SUBDATE() is a
  1894. synonym for DATE_SUB(). For information on the INTERVAL argument, see
  1895. the discussion for DATE_ADD().
  1896. mysql> SELECT DATE_ADD('1998-01-02', INTERVAL 31 DAY);
  1897.         -> '1998-02-02'
  1898. mysql> SELECT ADDDATE('1998-01-02', INTERVAL 31 DAY);
  1899.         -> '1998-02-02'
  1900. As of MySQL 4.1.1, the second syntax is allowed, where expr is a date
  1901. or datetime expression and days is the number of days to be added to
  1902. expr.
  1903. ","mysql> SELECT ADDDATE('1998-01-02', 31);
  1904.         -> '1998-02-02'
  1905. ","date-and-time-functions"),(176,3,"SMALLINT","SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
  1906. A small integer. The signed range is -32768 to 32767. The unsigned
  1907. range is 0 to 65535.
  1908. ","","numeric-type-overview"),(177,3,"DOUBLE PRECISION","DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL], REAL[(M,D)] [UNSIGNED]
  1909. [ZEROFILL]
  1910. These are synonyms for DOUBLE. Exception: If the server SQL mode
  1911. includes the REAL_AS_FLOAT option, REAL is a synonym for FLOAT rather
  1912. than DOUBLE.
  1913. ","","numeric-type-overview"),(178,30,"ORD","Syntax:
  1914. ORD(str)
  1915. If the leftmost character of the string str is a multi-byte character,
  1916. returns the code for that character, calculated from the numeric values
  1917. of its constituent bytes using this formula:
  1918.   (1st byte code)
  1919. + (2nd byte code × 256)
  1920. + (3rd byte code × 2562) ...
  1921. If the leftmost character is not a multi-byte character, ORD() returns
  1922. the same value as the ASCII() function.
  1923. ","mysql> SELECT ORD('2');
  1924.         -> 50
  1925. ","string-functions"),(179,29,"ENVELOPE","Envelope(g)
  1926. Returns the Minimum Bounding Rectangle (MBR) for the geometry value g.
  1927. The result is returned as a Polygon value.
  1928. The polygon is defined by the corner points of the bounding box:
  1929. POLYGON((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))
  1930. ","mysql> SELECT AsText(Envelope(GeomFromText('LineString(1 1,2 2)')));
  1931. +-------------------------------------------------------+
  1932. | AsText(Envelope(GeomFromText('LineString(1 1,2 2)'))) |
  1933. +-------------------------------------------------------+
  1934. | POLYGON((1 1,2 1,2 2,1 2,1 1))                        |
  1935. +-------------------------------------------------------+
  1936. ","general-geometry-property-functions");
  1937. insert into help_topic (help_topic_id,help_category_id,name,description,example,url) values (180,13,"IS_FREE_LOCK","Syntax:
  1938. IS_FREE_LOCK(str)
  1939. Checks whether the lock named str is free to use (that is, not locked).
  1940. Returns 1 if the lock is free (no one is using the lock), 0 if the lock
  1941. is in use, and NULL on errors (such as incorrect arguments).
  1942. ","","miscellaneous-functions"),(181,24,"TOUCHES","Touches(g1,g2)
  1943. Returns 1 or 0 to indicate whether or not g1 spatially touches g2. Two
  1944. geometries spatially touch if the interiors of the geometries do not
  1945. intersect, but the boundary of one of the geometries intersects either
  1946. the boundary or the interior of the other.
  1947. ","","functions-that-test-spatial-relationships-between-geometries"),(182,13,"INET_ATON","Syntax:
  1948. INET_ATON(expr)
  1949. Given the dotted-quad representation of a network address as a string,
  1950. returns an integer that represents the numeric value of the address.
  1951. Addresses may be 4- or 8-byte addresses.
  1952. ","mysql> SELECT INET_ATON('209.207.224.40');
  1953.         -> 3520061480
  1954. ","miscellaneous-functions"),(183,3,"AUTO_INCREMENT","The AUTO_INCREMENT attribute can be used to generate a unique identity
  1955. for new rows:
  1956. ","CREATE TABLE animals (
  1957.      id MEDIUMINT NOT NULL AUTO_INCREMENT,
  1958.      name CHAR(30) NOT NULL,
  1959.      PRIMARY KEY (id)
  1960.  );
  1961. INSERT INTO animals (name) VALUES 
  1962.     ('dog'),('cat'),('penguin'),
  1963.     ('lax'),('whale'),('ostrich');
  1964. SELECT * FROM animals;
  1965. ","example-auto-increment"),(184,30,"UNCOMPRESS","Syntax:
  1966. UNCOMPRESS(string_to_uncompress)
  1967. Uncompresses a string compressed by the COMPRESS() function. If the
  1968. argument is not a compressed value, the result is NULL. This function
  1969. requires MySQL to have been compiled with a compression library such as
  1970. zlib. Otherwise, the return value is always NULL.
  1971. ","mysql> SELECT UNCOMPRESS(COMPRESS('any string'));
  1972.         -> 'any string'
  1973. mysql> SELECT UNCOMPRESS('any string');
  1974.         -> NULL