数据类型:
- 严格数值数据类型:integer、smallint、decimal、numeric
- 近似数值数据类型:float、real、double、precision
- 关键字int是integer的同义词
- 关键字dec是decimal的同义词
类型 | 字节 | 最小值 | 最大值 |
带字符的/无符号的 | 带字符的/无符号的 | ||
tinyint | 1 | -128/0 | 127/255 |
smallint | 2 | -32768/8 | 32767/65535 |
mediumint | 3 | -8388608/0 | 8388607/16777215 |
int | 4 | -2147483648/0 | 2147483647/4294967295 |
bigint | 8 | -9223372036854775808/0 | 9223372036854775807/18446744073709551615 |
(1)字符串类型
字符串类型的数据主要是由字母、汉字、数字符号、特殊符号、构成的数据对象
①char和varchar类型
char和varchar类似,但他们保存和检索的方式不同,他们在最大长度和尾部空格是否保存等方面也不同,在存储或检索过程中二者不进行大小写转换。char和varchar类型声明的长度表示用户想要保存的最大字符数。
char列的长度固定为创建表时声明的长度。
varchar列中的值为可变长字符串。
②blob和text类型
blob列被视为二进制字符串(字节字符串)
text列被视为非二进制字符串。
(2)日期和时间类型
①date类型:表示日期
②time类型:表示时间
③ datetime类型:表示日期和时间
字段名 | 图书编号 | 书名 | 出版时间 | 单价 | 数量 | ... |
字段值的表示方法 | 用10个字符表示 | 用40个字符表示 | 用yyyy-mm-dd形式表示 | 用带有2位小数的5位数字表示 | 用5位整数表示 | |
数据类型 | char(10) | varchar(40) | date | float(5,2) | int(5) |
创建表:
语法格式如下
CREATE TABLE 表名
(
列名 数据类型 [not null | null] [default 列默认值]···
)ENGINE=存储引擎;
表名和列名:写什么都可以。
[not null | null]:指定该列是否允许为空,默认为null。
engine=存储引擎:MySQL支持数个存储引擎作为对不同表的类型的处理器,使用是要用具体的存储引擎代替代码中的“存储引擎”。
存储引擎是处理不同表类型的SQL操作的MySQL组件。其中InnoDB是最通用的存储引擎。
查看存储引擎的SQL命令是:
SHOW ENGINES;
如下图:
管理数据库表:
ALTER [IGNORE] TABLE 表名
ADD [COLUMN] 列名 [FIRST | AFTER 列名] /*添加列*/
| ALTER [COLUMN] 列名
{SET DEFAULT 默认值] DROP DEFAULT} /*修改默认值*/
| CHANCE [COLUMN] 旧列名 列定义 /*对列重命名*/
[FIRST|AFTER] 列名]
| MODIFY [COLUMN] 列定义 [FIRST | AFTER 列名] /*修改列类型*/
| DROP [COLUMN] 列名 /*删除列*/
| RENAME [TO] 心列名 /*重命名表名*/
default:为默认值。
1.添加列:
假设在bookstore数据库中添加一个“浏览次数”,代码如下:
alter table book
add 浏览次数 tinyint null;
后面的null可以不写因为默认位null!
2.对列重命名
在bookstore数据库中将单价修改成“价格”,代码如下:
ALTER TABLE book
CHANGE COLUMN 单价 价格 float(5,2) not null;
注意:列定义要重新定义,column可省略
3.修改列类型
将图片的数据类型改为blob,代码如下:
alter table book
modify 图片 blob ;
4.删除列
将书名删除,代码如下:
alter table book
drop 书名;
5.重命名表
将book表改为,代码如下:
alter table book
rename to mybook;
或:
rename table book to mybook;
rename table 可以直接使用
6.复制表
语法格式如下:
CREATE TABLE 复制表的命名 like 要复制的表名;
将book复制一个命名为book1
create table book1 like book;
7.显示数据表信息
代码如下:
SHOW TABLES;
8.显示数据表结构
[DESCRIBE|DESC] 表名;
查看book的数据表结构,代码如下:
DESCRIBE book;
或
DESC book;
如下图: