1. CREATE 创建命令
创建新数据库 mydb:
CREATE DATABASE mydb;
选择数据库 mydb:
USE mydb;
在当前数据库中创建数据表 table1:
CREATE TABLE IF NOT EXISTS `table1` ( fileid int NOT NULL AUTO_INCREMENT, PRIMARY KEY(fileid), size int, content mediumtext collate utf8_bin, name varchar(63) collate utf8_bin, from varchar(15) collate utf8_bin, time datetime );
这个表格 table1 一共有 6 个字段,其中 fileid 和 size 字段是整数类型,content,name 和 from 字段是字符串类型,而且以 utf8 编码,而 time 字段是 datetime 类型。PRIMARY KEY(fileid) 这行指明 fileid 是主键字段,AUTO_INCREMENT 指明它的值是自动增加的。而和 datetime 类型类似的还有 timestamp 类型。区别在于前者的查询结果与时区无关,而后者与时区有关。
2. ALTER 字段修改命令
利用 ALTER 命令可以修改数据表的字段的类型和顺序。例如:
ALTER TABLE `table1` CHANGE `content` `code` varchar(1024000) AFTER `fileid`
上面的命令将把前面定义的数据表 table1 的 content 字段改名为 code,类型改为 varchar(1024000),并且将该字段的位置放到 fileid 后面。
3. DESCRIBE 字段描述命令
利用 DESCRIBE 命令可以列出某个数据表的所有字段及其类型。例如:
DESCRIBE `table1`
4. SHOW 数据信息命令
利用 SHOW 命令可以检测数据库中某个数据表是否存在。例如:
$result = mysql_query("SHOW TABLES LIKE 'table1'"); $tableExists = mysql_num_rows($result) > 0;
5. GRANT 用户权限命令
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON mydb.table1 TO 'someuser'@'localhost' IDENTIFIED BY 'password';
6. INSERT 插入命令
在数据表 table1 中插入新数据:
INSERT INTO `table1` (`content`, `size`, `time`) VALUES ("hello", 5, (UTC_TIMESTAMP()))
7. UPDATE 更新命令
更新数据表 table1 中的数据:
UPDATE `table1` SET `content`="world", `time`=(UTC_TIMESTAMP()) WHERE `fileid`=1
8. SELECT 查询命令
查询数据表 table1 中的数据:
SELECT * FROM `table1` WHERE `fileid`=1
9. DELETE 删除命令
删除数据表 table1 中的数据:
DELETE FROM `table1` WHERE `fileid`=1
参考资料:
[1] MySQL :: MySQL 5.1参考手册 :: 13. SQL语句语法
[2] MySQL :: MySQL 5.6 Reference Manual
[3] PHP MySQL 创建数据库和表 - W3School
[4] mysql 中的datetime和timestamp的比较 - cb_121的专栏
[5] MySQL :: MySQL 5.6 Reference Manual :: 12.7 Date and Time Functions