创建数据库 :CREATE{DATABASE | SCHEMA}[IF NOT EXISTS] db_name [ [DEFAULT] CHARACTER [=] charser_name]
删除数据库 :DROP DATABASE db_name
删除指定数据库:DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
查看当前服务器下数据库列表:SHOW{DATABASES|SCHEMAS}
查看指定数据库的定义:SHOW CREATE{DATABASE|SCHEMA} db_name
查看上一步操作产生的警告信息 :SHOW WARNINGS;
得到当前打开的数据库名称:SELECT DATABADE()| SCHEMA();
打开指定数据库:USE db_name
修改指定数据库的编码方式:ALTER{DATABASE|SCHEMA} db_name [DEFAULT] CHARCTER [=] charset_name
查看当前数据库的数据表:SHOW TABLES
查看指定表的结构: DESC tbl_name
DESCRIBE tbl_name
SHOW COLUMNS FROM tbl_name
给字段添加注释: 通过 COMMENT ‘注释内容’
创建数据表:
CREATE TABLE [IF NOT EXISTS] tbl_name(字段名称 字段类型[完整约束条件] ...) ENGINE=引擎名称 CHARSET=‘编码方式’;
创建数据表 : CREATE TABLE table_name (column_name column_type);
root@host# mysql -u root -pEnter password:*******
mysql> use RUNOOB;Database changed
mysql> CREATE TABLE runoob_tbl(
-> runoob_id INT NOT NULL AUTO_INCREMENT,
-> runoob_title VARCHAR(100) NOT NULL,
-> runoob_author VARCHAR(40) NOT NULL,
-> submission_date DATE,
-> PRIMARY KEY ( runoob_id )
-> ); #可以通过engine 来指定存储引擎 用charaset 指定编码类型
Query OK, 0 rows affected (0.16 sec)
mysql>
删除数据表 :DROP TABLE table_name ;
mysql> use RUNOOB;Database changed
mysql> DROP TABLE runoob_tblQuery OK, 0 rows affected (0.8 sec)
插入数据 :INSERT INTO table_name ( field1, field2,...fieldN ) VALUES (value1, value2,...valueN );
root@host# mysql -u root -p password;Enter password:*******
mysql> use RUNOOB;
Database changed
mysql> INSERT INTO runoob_tbl
->(runoob_title, runoob_author, submission_date)
->VALUES
->("Learn PHP", "John Poul", NOW());
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO runoob_tbl
->(runoob_title, runoob_author, submission_date)
->VALUES
->("Learn MySQL", "Abdul S", NOW());
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO runoob_tbl
->(runoob_title, runoob_author, submission_date)
->VALUES
->("JAVA Tutorial", "Sanjay", '2007-05-06');
Query OK, 1 row affected (0.01 sec)
mysql>
实例中 NOW() 是一个 MySQL 函数,该函数返回日期和时间。
查询数据:
SELECT column_name,column_name,...
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N];
- 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
- SELECT你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
- 你可以使用 WHERE语句来包含任何条件。
- 你可以使用 LIMIT属性来设定返回的记录数。
root@host# mysql -u root -p password;Enter password:*******
mysql> use RUNOOB;Database changed
mysql> SELECT * from runoob_tbl
+-------------+----------------+-----------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-------------+----------------+-----------------+-----------------+
| 1 | Learn PHP | John Poul | 2007-05-21 |
| 2 | Learn MySQL | Abdul S | 2007-05-21 |
| 3 | JAVA Tutorial | Sanjay | 2007-05-21 |
+-------------+----------------+-----------------+-----------------+
3 rows in set (0.01 sec)
mysql>
数值类型
MySQL支持所有标准SQL数值数据类型。
这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。
关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。
BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。
作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。
日期和时间类型
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个”零”值,当指定不合法的MySQL不能表示的值时使用”零”值。
重点内容
字符串类型
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。