五种字段类型
整型:TINYINT(tinyint):小的整数型,正整数0-255字段长度,非常小的整数型。
小数: M表示这个小数类型的长度,D表示小数位有多长,比如M是10,D是3,那么整数的长度就是7。
字符型:CHAR(char):最大长度为255个字符且有固定长度的字符串类型
日期型:DATETIME(datetime):日期时间,YYMMDD HH:MM:SS格式的日期/时间类型
备注型:TINYTEXT(tinytext):
mysql表类型
MyISAM:默认的类型,比较成熟稳定。
InnoDB:功能比较强大,支持外键约束,事务(支持事务可以回滚),崩溃恢复等一些新功能。
查看是否支持innodb:shwo variables like 'have_innodb';
开启innodb:编辑mysql.ini文件,找到skip-innodb把它注释掉。
HEAP:内存表,表的数据是存在内存中的,一般用作临时表。优点,速度快比如做排序,缺点,断链数据就丢失。
一、数据库
1.登陆mysql
2.查看数据库
3.创建数据库
create database db_test;
4.删除数据库
drop databasedb_test;
5.备份数据库
# /usr/local/mysql/bin/mysqldump -u root -p --all-databases>/home/db_bak
# /usr/local/mysql/bin/mysqldump -u root -p --databases db_test>/home/db_bak
6.恢复数据库
# /usr/local/mysql/bin/mysql -u root -p< /home/db_bak
7.打开数据库
use db_test;
二、表操作
1.创建表(打开数据库)
create table表名
(
//数据表结构,name是每列的名字,int是类型整数,(11)列值大小,notnull是不允许为空,auto_increment是列值自动增量,primary key:设置主键,表里必须有一列是主键。
2. 显示创建的表
show tables;
3. 显示表结构
4.修改表结构(先要打开数据库)
alter table 要修改的表名add column address varchar(10);
address:要添加的列名。
varchar(10):新添加列的属性。
alter table 要修改的表名 drop column 要删除的表列;
alter table 要修改的表名modify
address:要修改的列。
char(30):要修改成的属性。
5)修改表列名
address:原始的列名。
address1:修改后的列名。
varchar(50):修改后的列名属性。
5. 删除表
drop table my_table;
my_table:要删除的表名。
6. 向表中添加数据
insert into 表名字 set
body:表示要添加内容的列名,后面是这列添加的内容。
7. 查看表中数据
select * from 表名字;
8. 改变表中数据
body:是要修改的列,后面是要修改的内容。
表 A
数据类型 | 描述 | 字节 | 推荐使用 |
SMALLINT | 整数,从-32000到 +32000范围 | 2 | 存储相对比较小的整数。 比如: 年纪,数量 |
INT | 整数,从-2000000000 到 +2000000000 范围 | 4 | 存储中等整数 例如: 距离 |
BIGINT | 不能用SMALLINT 或 INT描述的超大整数。 | 8 | 存储超大的整数 例如: 科学/数学数据 |
FLOAT | 单精度浮点型数据 | 4 | 存储小数数据 例如:测量,温度 |
DOUBLE | 双精度浮点型数据 | 8 | 需要双精度存储的小数数据 例如:科学数据 |
DECIMAL | 用户自定义精度的浮点型数据 | 变量;取决于精度与长度 | 以特别高的精度存储小数数据。 例如:货币数额,科学数据 |
CHAR | 固定长度的字符串 | 特定字符串长度(高达255字符) | 存储通常包含预定义字符串的变量 例如: 定期航线,国家或邮编 |
VARCHAR | 具有最大限制的可变长度的字符串 | 变量; 1 + 实际字符串长度(高达255 字符) | 存储不同长度的字符串值(高达一个特定的最大限度). 例如:名字,密码,短文标签 |
TEXT | 没有最大长度限制的可变长度的字符串 | Variable; 2 +聽 actual string length | 存储大型文本数据 例如: 新闻故事,产品描述 |
BLOB | 二进制字符串 | 变量;2 + 实际字符串长度 | 存储二进制数据 例如:图片,附件,二进制文档 |
DATE | 以 yyyy-mm-dd格式的日期 | 3 | 存储日期 例如:生日,产品满期 |
TIME | 以 hh:mm:ss格式的时间 | 3 | 存储时间或时间间隔 例如:报警声,两时间之间的间隔,任务开始/结束时间 |
DATETIME | 以yyyy-mm-ddhh:mm:ss格式结合日期和时间 | 8 | 存储包含日期和时间的数据 例如:提醒的人,事件 |
TIMESTAMP | 以yyyy-mm-ddhh:mm:ss格式结合日期和时间 | 4 | 记录即时时间 例如:事件提醒器,“最后进入”的时间标记 |
YEAR | 以 yyyy格式的年份 | 1 | 存储年份 例如:毕业年,出生年 |
ENUM | 一组数据,用户可从中选择其中一个 | 1或 2个字节 | 存储字符属性,只能从中选择之一 例如:布尔量选择,如性别 |
SET | 一组数据,用户可从中选择其中0,1或更多。 | 从1到8字节;取决于设置的大小 | 存储字符属性,可从中选择多个字符的联合。 例如:多选项选择,比如业余爱好和兴趣。 |