DATE
DATE数据类型用于保存日期数据,默认格式为YYYY-MM-DD。MySQL提供了许多功能强大的日期格式化和操作命令,本文无法在此一一进行介绍,感爱好的读者可以参看MySQL的技术文档。
DATE数据类型举例如下:
the_date DATE;
TEXT / BLOB
TEXT和BLOB数据类型可以用来保存255 到65535个字符,假如用户需要把大段文本保存到数据库内的话,可以选用TEXT或BLOB数据类型。TEXT和BLOB这两种数据类型基本相同,唯一的区别在于TEXT不区分大小写,而BLOB对字符的大小写敏感。
SET
SET数据类型是多个数据值的组合,任何部分或全部数据值都是该数据类型的有效数据。SET数据类型最大可以包含64个指定数据值。
举例如下:
transport SET ("truck", "wagon") NOT NULL;
根据上述数据类型的设置,truck、wagon、以及truck,wagon都可以成为transport的有效值。
ENUM
ENUM数据类型和SET基本相同,唯一的区别在于ENUM只答应选择一个有效数据值。例如:
transport ENUM ("truck", "wagon") NOT NULL;
根据上述设置,truck或wagon将成为transport的有效数据值。
以上,我们只是对用户使用MySQL数据库的过程中经常用到的数据类型进行了简单介绍,有爱好的读者,可以参看MySQL技术文档的具体说明。
数据记录
一组经过声明的数据类型就可以组成一条记录。记录小到可以只包含一个数据变量,大到可以满足用户的各种复杂需求。多条记录组合在一起就构成了数据表的基本结构。
数据表
在我们执行各种数据库命令之前,首先需要创建用来保存信息的数据表。我们可以通过以下方式在MySQL数据库中创建新的数据表:
mysql$#@62; CREATE TABLE test (
$#@62; name VARCHAR (15),
$#@62; email VARCHAR (25),
$#@62; phone_number INT,
$#@62; ID INT NOT NULL AUTO_INCREMENT,
$#@62; PRIMARY KEY (ID));
系统反馈信息为:
Query OK, 0 rows affected (0.10 sec)
mysql$#@62;
这样,我们就在数据库中创建了一个新的数据表。注重,同一个数据库中不能存在两个名称相同的数据表。
这里,我们使用CREATE TABLE命令创建的test数据表中包含name,email,phone_number和ID四个字段。MySQL数据库答应字段名中包含字符或数字,最大长度可以达到64个字符。
下面,我们来看一看创建数据表时所用到的几个主要的参数选项。
Primary Key
具有Primary Key限制条件的字段用于区分同一个数据表中的不同记录。因为同一个数据表中不会存在两个具有相同值的Primary Key字段,所以对于那些需要严格区分不同记录的数据表来说,Primary Key具有相当重要的作用。
Auto_Increment
具有Auto_Increment限制条件的字段值从1开始,每增加一条新记录,值就会相应地增加1。一般来说,我们可以把Auto_Increment字段作为数据表中每一条记录的标识字段。
NOT NULL
NOT NULL限制条件规定用户不得在该字段中插入空值。
其它数据表命令
除了创建新的数据表之外,MySQL数据库还提供了其它许多非常实用的以数据表作为操作对象的命令。
显示数据表命令
mysql$#@62; show tables;
该命令将会列出当前数据库下的所有数据表。
显示字段命令
mysql$#@62; show columns from tablename;
该命令将会返回指定数据表的所有字段和字段相关信息。
数据操作
对MySQL数据库中数据的操作可以划分为四种不同的类型,分别是添加、删除、修改和查询,我们将会在本节中对此进行介绍。但是,首先我们需要强调的一点就是MySQL数据库所采用的SQL语言同其它绝大多数计算机编程语言一样,对命令的语法格式有严格的规定。任何语法格式上的错误,例如不正确的使用括号、逗号或分号等都可能导致命令执行过程中的错误。因此,建议用户在学习时一定要多留心语法格式的使用。
添加记录
用户可以使用INSERT命令向数据库中添加新的记录。
例如:
mysql$#@62; INSERT INTO test VALUES
mysql$#@62; (John, carrots@mail.com,
mysql$#@62; 5554321, NULL);
上述命令正确执行后会返回以下信息:
Query OK, 1 row affected (0.02 sec)
mysql$#@62;
对上述命令有几点我们需要说明。首先,所有的字符类型数据都必须使用单引号括起来。其次,NULL要害字与AUTO_INCREMENT限制条件相结合可以为字段自动赋值。最后,也是最重要的一点就是新记录的字段值必须与数据表中的原字段相对应,假如原数据表中有4个字段,而用户所添加的记录包含3个或5个字段的话都会导致错误出现。
MySQL数据库的一个非常显著的优势就是可以对整数、字符串和日期数据进行自动转换。因此,用户在添加新记录时就不必担心因为数据类型不相符而出现错误。
查询数据
假如我们无法从数据库中查找和读取数据的话,数据库就丧失了其存在和使用的价值。
在MySql数据库中,用户可以使用SELECT命令进行数据的查询。
例如:
mysql$#@62; SELECT * FROM test
mysql$#@62; WHERE (name = "John");
上述命令会返回如下结果:
name
phone
ID
John
carrots@mail.com
5554321
1
删除数据
用户除了可以向数据表中添加新的记录之外,还可以删除数据表中的已有记录。删除记录可以使用DELETE命令。
例如:
mysql$#@62; DELETE FROM test
mysql$#@62; WHERE (name = "");
该命令将会删除test数据表中name字段的值为John的记录。同样,
mysql$#@62; DELETE FROM test
mysql$#@62; WHERE (phone_number = 5554321);
将会从数据表中删除phone_number字段值为5554321的记录。
修改数据
MySQL数据库还支持用户对已经输入到数据表中的数据进行修改。修改记录可以使用UPDATE命令。
例如:
mysql$#@62; UPDATE test SET name = Mary
