以下是MySQL中各字段的取值范围:
TINYINT
-128 - 127
TINYINT UNSIGNED
0 - 255
SMALLINT
-32768 - 32767
SMALLINT UNSIGNED
0 - 65535
MEDIUMINT
-8388608 - 8388607
MEDIUMINT UNSIGNED
0 - 16777215
INT 或 INTEGER
-2147483648 - 2147483647
INT UNSIGNED 或 INTEGER UNSIGNED
0 - 4294967295
BIGINT
-9223372036854775808 - 9223372036854775807
BIGINT UNSIGNED
0 - 18446744073709551615
FLOAT
-3.402823466E+38 - -1.175494351E-38,0,1.175494351E-38 - 3.402823466E+38
DOUBLE 或 DOUBLE PRECISION 或 REAL
-1.7976931348623157E+308 - -2.2250738585072014E-308,0,2.2250738585072014E-308 - 1.7976931348623157E+308
DECIMAL[(M,[D])] 或 NUMERIC(M,D)
由M(整个数字的长度,包括小数点,小数点左边的位数,小数点右边的位数,但不包括负号)和D(小数点右边的位数)来决定,M缺省为10,D缺省为0
DATE
1000-01-01 - 9999-12-31
DATETIME
1000-01-01 00:00:00 - 9999-12-31 23:59:59
TIMESTAMP
1970-01-01 00:00:00 - 2037年的某天(具体是哪天我也不知道,呵呵)
TIME
-838:59:59' to 838:59:59
YEAR[(2|4)]
缺省为4位格式,4位格式取值范围为1901 - 2155,0000,2位格式取值范围为70-69(1970-2069)
CHAR(M) [BINARY] 或 NCHAR(M) [BINARY]
M的范围为1 - 255,如果没有BINARY项,则不分大小写,NCHAR表示使用缺省的字符集.在数据库中以空格补足,但在取出来时末尾的空格将自动去掉.
[NATIONAL] VARCHAR(M) [BINARY]
M的范围为1 - 255.在数据库中末尾的空格将自动去掉.
TINYBLOB 或 TINYTEXT
255(2^8-1)个字符
BLOB 或 TEXT
65535(2^16-1)个字符
MEDIUMBLOB 或 MEDIUMTEXT
16777215 (2^24-1)个字符
LONGBLOB 或 LONGTEXT
4294967295 (2^32-1)个字符
ENUM('value1','value2',...)
可以总共有65535个不同的值
SET('value1','value2',...)
最多有64个成员
TINYINT
-128 - 127
TINYINT UNSIGNED
0 - 255
SMALLINT
-32768 - 32767
SMALLINT UNSIGNED
0 - 65535
MEDIUMINT
-8388608 - 8388607
MEDIUMINT UNSIGNED
0 - 16777215
INT 或 INTEGER
-2147483648 - 2147483647
INT UNSIGNED 或 INTEGER UNSIGNED
0 - 4294967295
BIGINT
-9223372036854775808 - 9223372036854775807
BIGINT UNSIGNED
0 - 18446744073709551615
FLOAT
-3.402823466E+38 - -1.175494351E-38,0,1.175494351E-38 - 3.402823466E+38
DOUBLE 或 DOUBLE PRECISION 或 REAL
-1.7976931348623157E+308 - -2.2250738585072014E-308,0,2.2250738585072014E-308 - 1.7976931348623157E+308
DECIMAL[(M,[D])] 或 NUMERIC(M,D)
由M(整个数字的长度,包括小数点,小数点左边的位数,小数点右边的位数,但不包括负号)和D(小数点右边的位数)来决定,M缺省为10,D缺省为0
DATE
1000-01-01 - 9999-12-31
DATETIME
1000-01-01 00:00:00 - 9999-12-31 23:59:59
TIMESTAMP
1970-01-01 00:00:00 - 2037年的某天(具体是哪天我也不知道,呵呵)
TIME
-838:59:59' to 838:59:59
YEAR[(2|4)]
缺省为4位格式,4位格式取值范围为1901 - 2155,0000,2位格式取值范围为70-69(1970-2069)
CHAR(M) [BINARY] 或 NCHAR(M) [BINARY]
M的范围为1 - 255,如果没有BINARY项,则不分大小写,NCHAR表示使用缺省的字符集.在数据库中以空格补足,但在取出来时末尾的空格将自动去掉.
[NATIONAL] VARCHAR(M) [BINARY]
M的范围为1 - 255.在数据库中末尾的空格将自动去掉.
TINYBLOB 或 TINYTEXT
255(2^8-1)个字符
BLOB 或 TEXT
65535(2^16-1)个字符
MEDIUMBLOB 或 MEDIUMTEXT
16777215 (2^24-1)个字符
LONGBLOB 或 LONGTEXT
4294967295 (2^32-1)个字符
ENUM('value1','value2',...)
可以总共有65535个不同的值
SET('value1','value2',...)
最多有64个成员
MyWWWatcher是一个管理MySQL的小工具,比PHPMyAdmin要小很多,很容易使用,配置灵活,有下列非常好的功能:
1.Queries
这个功能可以让我们直接输入SQL命令操作数据库,操作的命令都保存在History记录中,你可以随时返回以前输入的命令,为我们节省时间,并且SQL命令执行的结果会直接显示在页面下方,特殊的是,可以直接将数据导出为csv格式文件,或者将SQL命令加入Query archive收藏。
2.Query archive
SQL命令的收藏夹,方便我们使用常用的SQL命令。
3.Import
数据导入功能,可以直接用SQL命令导入数据,也可以导入SQL文件,CVS文件,如果上传得ZIP或者GZ文件,会先解压在导入。
4.Export
数据导出功能,和PHPMyAdmin导出功能类似,这里不做过多介绍了。
5.Data insertion
数据注入器,默认的情况下,允许一次往一张表里提交3条数据,想多提交几条,可以修改配置文件中的insert_rows = 3。
6.Scheme
数据字典生成器,通过这个功能可以非常直观方便的了解每个表的数据字段的设定。
7. Indexes
索引管理器,可以方便删除和添加索引,另外还可以方便建立组合索引。
8.Settings
配置文件管理器,方便得修改配置文件中的参数,保存成功的前提是必须ini目录为可写权限。
这个工具方便小巧,完全可以满足大部分使用的功能了。推荐给大家,大家可以下载试用一下。
访问:http://www.the.cz/mywwwatcher
1.Queries
这个功能可以让我们直接输入SQL命令操作数据库,操作的命令都保存在History记录中,你可以随时返回以前输入的命令,为我们节省时间,并且SQL命令执行的结果会直接显示在页面下方,特殊的是,可以直接将数据导出为csv格式文件,或者将SQL命令加入Query archive收藏。
2.Query archive
SQL命令的收藏夹,方便我们使用常用的SQL命令。
3.Import
数据导入功能,可以直接用SQL命令导入数据,也可以导入SQL文件,CVS文件,如果上传得ZIP或者GZ文件,会先解压在导入。
4.Export
数据导出功能,和PHPMyAdmin导出功能类似,这里不做过多介绍了。
5.Data insertion
数据注入器,默认的情况下,允许一次往一张表里提交3条数据,想多提交几条,可以修改配置文件中的insert_rows = 3。
6.Scheme
数据字典生成器,通过这个功能可以非常直观方便的了解每个表的数据字段的设定。
7. Indexes
索引管理器,可以方便删除和添加索引,另外还可以方便建立组合索引。
8.Settings
配置文件管理器,方便得修改配置文件中的参数,保存成功的前提是必须ini目录为可写权限。
这个工具方便小巧,完全可以满足大部分使用的功能了。推荐给大家,大家可以下载试用一下。
访问:http://www.the.cz/mywwwatcher
| ADD | ALL | ALTER |
| ANALYZE | AND | AS |
| ASC | ASENSITIVE | BEFORE |
| BETWEEN | BIGINT | BINARY |
| BLOB | BOTH | BY |
| CALL | CASCADE | CASE |
| CHANGE | CHAR | CHARACTER |
| CHECK | COLLATE | COLUMN |
| CONDITION | CONNECTION | CONSTRAINT |
| CONTINUE | CONVERT | CREATE |
| CROSS | CURRENT_DATE | CURRENT_TIME |
| CURRENT_TIMESTAMP | CURRENT_USER | CURSOR |
| DATABASE | DATABASES | DAY_HOUR |
| DAY_MICROSECOND | DAY_MINUTE | DAY_SECOND |
| DEC | DECIMAL | DECLARE |
| DEFAULT | DELAYED | DELETE |
| DESC | DESCRIBE | DETERMINISTIC |
| DISTINCT | DISTINCTROW | DIV |
| DOUBLE | DROP | DUAL |
| EACH | ELSE | ELSEIF |
| ENCLOSED | ESCAPED | EXISTS |
| EXIT | EXPLAIN | FALSE |
| FETCH | FLOAT | FLOAT4 |
| FLOAT8 | FOR | FORCE |
| FOREIGN | FROM | FULLTEXT |
| GOTO | GRANT | GROUP |
| HAVING | HIGH_PRIORITY | HOUR_MICROSECOND |
| HOUR_MINUTE | HOUR_SECOND | IF |
| IGNORE | IN | INDEX |
| INFILE | INNER | INOUT |
| INSENSITIVE | INSERT | INT |
| INT1 | INT2 | INT3 |
| INT4 | INT8 | INTEGER |
| INTERVAL | INTO | IS |
| ITERATE | JOIN | KEY |
| KEYS | KILL | LABEL |
| LEADING | LEAVE | LEFT |
| LIKE | LIMIT | LINEAR |
| LINES | LOAD | LOCALTIME |
| LOCALTIMESTAMP | LOCK | LONG |
| LONGBLOB | LONGTEXT | LOOP |
| LOW_PRIORITY | MATCH | MEDIUMBLOB |
| MEDIUMINT | MEDIUMTEXT | MIDDLEINT |
| MINUTE_MICROSECOND | MINUTE_SECOND | MOD |
| MODIFIES | NATURAL | NOT |
| NO_WRITE_TO_BINLOG | NULL | NUMERIC |
| ON | OPTIMIZE | OPTION |
| OPTIONALLY | OR | ORDER |
| OUT | OUTER | OUTFILE |
| PRECISION | PRIMARY | PROCEDURE |
| PURGE | RAID0 | RANGE |
| READ | READS | REAL |
| REFERENCES | REGEXP | RELEASE |
| RENAME | REPEAT | REPLACE |
| REQUIRE | RESTRICT | RETURN |
| REVOKE | RIGHT | RLIKE |
| SCHEMA | SCHEMAS | SECOND_MICROSECOND |
| SELECT | SENSITIVE | SEPARATOR |
| SET | SHOW | SMALLINT |
| SPATIAL | SPECIFIC | SQL |
| SQLEXCEPTION | SQLSTATE | SQLWARNING |
| SQL_BIG_RESULT | SQL_CALC_FOUND_ROWS | SQL_SMALL_RESULT |
| SSL | STARTING | STRAIGHT_JOIN |
| TABLE | TERMINATED | THEN |
| TINYBLOB | TINYINT | TINYTEXT |
| TO | TRAILING | TRIGGER |
| TRUE | UNDO | UNION |
| UNIQUE | UNLOCK | UNSIGNED |
| UPDATE | USAGE | USE |
| USING | UTC_DATE | UTC_TIME |
| UTC_TIMESTAMP | VALUES | VARBINARY |
| VARCHAR | VARCHARACTER | VARYING |
| WHEN | WHERE | WHILE |
| WITH | WRITE | X509 |
| XOR | YEAR_MONTH | ZEROFILL |
MySQL允许部分关键字用做未引起来的识别符,因为许多人以前曾使用过它们。下面列出了一些例子:
ACTION
BIT
DATE
ENUM
NO
TEXT
TIME
TIMESTAMP
select的嵌套用法:
例子:
如果要从表userinfo(此表也含有userid)中选出与表result的userid不同的所有数据,例子如下:
引用
select A from (select * from tableB) as t1
或者
select A from (select * from tableB) t1
或者
select A from (select * from tableB) t1
例子:
引用
SELECT *
FROM (
SELECT *
FROM affiche
ORDER BY `submit_date` DESC
) AS t1
GROUP BY type_id
ORDER BY `submit_date` DESC
LIMIT 0 , 30
FROM (
SELECT *
FROM affiche
ORDER BY `submit_date` DESC
) AS t1
GROUP BY type_id
ORDER BY `submit_date` DESC
LIMIT 0 , 30
如果要从表userinfo(此表也含有userid)中选出与表result的userid不同的所有数据,例子如下:
引用
select * from userinfo where userinfo.userid not in(select result.userid from result)




2007/08/12 22:23 
