一、MySQL数据类型
1.数字类型
(1)整数数据类型包括TINYINT/BIT/BOOL/SMALLINT/MEDIUMINT/INT/BIGINT
(2)浮点数据类型包括FLOAT/DOUBLE/DECIMAL
原则: 1.选择最小的可用类型,如果值永远不超过127,则使用TINYINT比INT强。
2.对于完全都是数字的,可以选择整数类型。
3.浮点类型用于可能具有小数部分的数。如货物单价、网上购物交付金额等。
2.字符串类型
(1)普通的文本字符串类型包括CHAR(取值为1~255)和VARCHAR(变长的字符串)
(2)TEXT和BLOB类型。它们的大小可以改变,TEXT类型适合存储长文本,而BLOB类型适合存储二进制数据,支持任何数据,例如文本、声音和图像等。
(3)特殊类型SET和ENUM。
原则: 1.从速度方面考虑,要选择固定的列,可以使用CHAR类型。
2.要节省空间,使用动态地列,可以使用VARCHAR类型。
3.要将列中的内容仙之子一种选择,可以使用ENUM类型。
4.允许在一个列中有多于一个的条目,可以使用SET类型。
5.如果要搜索的内容不区分大小写,可以使用TEXT类型。
6.如果要搜索的内容区分大小写,可以使用BLOB类型。
3.日期和时间数据类型
(1)DATE:YYYY-MM-DD
(2)TIME:HH:MM:SS
(3)DATETIME:YYYY-MM-DD HH:MM:SS
(4)TIMESTAMP:时间标签,在处理报告时使用的显示格式取决于M的值。
(5)YEAR:年份可指定两位数字和四位数字的格式。
二、创建表
mysql> use db_library; Database changed mysql> CREATE TABLE tb_bookinfo( -> barcode varchar(30), -> bookname varchar(70), -> typeid int(10) unsigned, -> author varchar(30), -> ISBN varchar(20), -> price float(8,2), -> page int(10) unsigned, -> bookcase int(10) unsigned, -> inTime date, -> del tinyint(1) DEFAULT'0', -> id int(11) NOT NULL -> ); Query OK, 0 rows affected (0.03 sec)
1.设置默认的存储引擎
mysql> CREATE TABLE tb_booktype( -> id int(10) unsigned NOT NULL, -> typename varchar(30), -> days int(10) unsigned -> )ENGINE=MyISAM; Query OK, 0 rows affected (0.01 sec)
2.设置自增类型字段的同时,最好将其设置为主键(注意反引号和单引号的区别,反引号是Esc下面那个)
mysql> CREATE TABLE tb_booktype1( -> id int(10) unsigned NOT NULL AUTO_INCREMENT, -> typename varchar(30), -> days int(10) unsigned, -> PRIMARY KEY (`id`) -> ); Query OK, 0 rows affected (0.03 sec)
3.设置字符集
mysql> CREATE TABLE tb_booktype2( -> id int(10) unsigned NOT NULL AUTO_INCREMENT, -> typename varchar(30), -> days int(10) unsigned, -> PRIMARY KEY (`id`) -> )DEFAULT CHARSET=GBK; Query OK, 0 rows affected (0.02 sec)
4.复制表结构,实现在数据库db_library中创建一份数据表tb_bookinfo的副本tb_bookinfobak。