Mysql数据库(三)Mysql表结构管理

  一、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。

扫描二维码关注公众号,回复: 28514 查看本文章

  原则:   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。

  

  

猜你喜欢

转载自www.cnblogs.com/BigJunOba/p/8862718.html