首先先了解一下sql中的数据结构

1、整数类型:

类型名称

说明

存储需求

TINYINT

-128〜127

0 〜255

SMALLINT

-32768〜32767

0〜65535

MEDIUMINT

-8388608〜8388607

0〜16777215

INT (INTEGER)

-2147483648〜2147483647

0〜4294967295

BIGINT

-9223372036854775808〜9223372036854775807

0〜18446744073709551615

2、小数类型

类型名称

说明

存储需求

FLOAT

单精度浮点数

4 个字节

DOUBLE

双精度浮点数

8 个字节

DECIMAL (M, D),DEC

压缩的“严格”定点数

M+2 个字节

  对精度要求比较高的时候 用DECIMAL  

3、日期和时间类型

类型名称

日期格式

日期范围

存储需求

YEAR

YYYY

1901 ~ 2155

1 个字节

TIME

HH:MM:SS

-838:59:59 ~ 838:59:59

3 个字节

DATE

YYYY-MM-DD

1000-01-01 ~ 9999-12-3

3 个字节

DATETIME

YYYY-MM-DD HH:MM:SS

1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

8 个字节

TIMESTAMP

YYYY-MM-DD HH:MM:SS

1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC

4 个字节

4、字符串类型

类型名称

说明

存储需求

CHAR(M)

固定长度非二进制字符串

M 字节,1<=M<=255

VARCHAR(M)

变长非二进制字符串

L+1字节,在此,L< = M和 1<=M<=255

TINYTEXT

非常小的非二进制字符串

L+1字节,在此,L<2^8

TEXT

小的非二进制字符串

L+2字节,在此,L<2^16

MEDIUMTEXT

中等大小的非二进制字符串

L+3字节,在此,L<2^24

LONGTEXT

大的非二进制字符串

L+4字节,在此,L<2^32

ENUM

枚举类型,只能有一个枚举字符串值

1或2个字节,取决于枚举值的数目 (最大值为65535)

SET

一个设置,字符串对象可以有零个或 多个SET成员

1、2、3、4或8个字节,取决于集合 成员的数量(最多64个成员)

5、二进制类型

类型名称

说明

存储需求

BIT(M)

位字段类型

大约 (M+7)/8 字节

BINARY(M)

固定长度二进制字符串

M 字节

VARBINARY (M)

可变长度二进制字符串

M+1 字节

TINYBLOB (M)

非常小的BLOB

L+1 字节,在此,L<2^8

BLOB (M)

小 BLOB

L+2 字节,在此,L<2^16

MEDIUMBLOB (M)

中等大小的BLOB

L+3 字节,在此,L<2^24

LONGBLOB (M)

非常大的BLOB

L+4 字节,在此,L<2^32

 

 

 

 

创建一个数据表

CREATE TABLE <表名> ([表定义选项])[表选项][分区选项];

 

首先use进入到一个数据库中

然后使用刚才的语句创建一个数据表

mysql表示小数的数据类型 mysql小数类型建表怎么用_数据库

 

 提示ok证明创建成功

这里我想创建的就是一个这样子的表

 

id

name

score

sex

1

12312312

tom

80


2

12312322

jeryr

90


当然了数据是要后面再填的,这里只是创建了每列的列头

 

查看一下刚才的表是否创建成功

使用这个命令查看数据库里所有的数据表

mysql> SHOW TABLES;

mysql表示小数的数据类型 mysql小数类型建表怎么用_mysql_02

 

 

 

然后进入这个表查看一下表的结构

mysql> DESCRIBE talble1;

mysql表示小数的数据类型 mysql小数类型建表怎么用_mysql_03

 

第三列 NULL 表示该值是否可以为空

第四列 Key 表示该列是否编制索引

第五列 Default 表示该属性是否有默认值

第六列 Extra 表示附加信息

 

 

mysql> SHOW CREATE TABLE talble1\G;

使用该语句可以查看创建表时所用的语句

mysql表示小数的数据类型 mysql小数类型建表怎么用_表名_04

 

 

 

 

修改数据表

{ ADD COLUMN <列名> <类型>
| CHANGE COLUMN <旧列名> <新列名> <新列类型>
| ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }
| MODIFY COLUMN <列名> <类型>
| DROP COLUMN <列名>
| RENAME TO <新表名>
| CHARACTER SET <字符集名>
| COLLATE <校对规则名> }

 

 

修改数据表的名字,比如我把刚才创建的表talble1 改名为 tb1

mysql> ALTER TABLE talble1 RENAME TO tb1;

mysql表示小数的数据类型 mysql小数类型建表怎么用_表名_05

 

 

 

刚才查看数据表的时候,可以从参数中看出来字符集用的是utf8

mysql表示小数的数据类型 mysql小数类型建表怎么用_字符串_06

 

 

那么现在将他改为gbk,顺带也修改一下校对规则

mysql> ALTER TABLE tb1 CHARACTER SET gbk  DEFAULT COLLATE gbk_bin;

mysql表示小数的数据类型 mysql小数类型建表怎么用_数据库_07

 

 

 

 

修改字段名

ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;

试用一下,把刚才表中的 score 改成 grade

mysql> ALTER TABLE tb1 CHANGE score grade DOUBLE;

mysql表示小数的数据类型 mysql小数类型建表怎么用_mysql表示小数的数据类型_08

 

 可以看出 表中已经没了score  取而代之的是 grade

 

 

添加字段

ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件];

现在向表中添加一个 color,数据类型是varchar

mysql> ALTER TABLE tb1 ADD color VARCHAR(10);

mysql表示小数的数据类型 mysql小数类型建表怎么用_mysql表示小数的数据类型_09

 

 这是添加在了末尾

接下来我们在开头添加一个school

mysql> ALTER TABLE tb1 ADD school VARCHAR(10) FIRST;

mysql表示小数的数据类型 mysql小数类型建表怎么用_mysql表示小数的数据类型_10

 

 school添加在了开头

那么再试一下在 name 后面添加一个age

mysql> ALTER TABLE tb1 ADD age INT(10) AFTER name;

mysql表示小数的数据类型 mysql小数类型建表怎么用_mysql表示小数的数据类型_11

 

 

 

 

删除字段 

ALTER TABLE <表名> DROP <字段名>;

试一下把刚才添加的color删掉

mysql表示小数的数据类型 mysql小数类型建表怎么用_数据库_12

 

 

 

 

删除数据表

DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]

mysql表示小数的数据类型 mysql小数类型建表怎么用_mysql_13

 

 图中可以看出,新建的数据表t2 被删掉了