五种字段类型
2014-04-03 15:59阅读:
五种字段类型(mysql
字段类型、基本命令)
整型:TINYINT(tinyint):小的整数型,正整数0-255字段长度,非常小的整数型。
SMALLINT (smallint):
比小型(tinyint)大一点。0-65535
INT(int):比smallint大,最常用的。0-4294967295
BIGINT(bigint):大的整数型。0-18446744073709551615
小数:
M表示这个小数类型的长度,D表示小数位有多长,比如M是10
,D是3,那么整数的长度就是7。
FLOAT(float)(M,D)
DOUBLE(double0
DECIMAL(decimal)
字符型:CHAR(char):最大长度为255个字符且有固定长度的字符串类型
VARCHAR(varchar):最大长度为255个字符但是变长的字符串类型,最大255个字符。
日期型:DATETIME(datetime):日期时间,YYMMDD
HH:MM:SS格式的日期/时间类型
DATE(date):日期,
TIME(time):时间,
YEAR(year):年
TIMESTAMP(timestamp):默认是YYMMDD
HH:MM:SS,结尾加“+0”可以转换成一串数字。默认不能为空,如果写入空,默认就是当前时间。
备注型:TINYTEXT(tinytext):
TEXT(text):
LONGTEXT(text):
mysql表类型
MyISAM:默认的类型,比较成熟稳定。
InnoDB:功能比较强大,支持外键约束,事务(支持事务可以回滚),崩溃恢复等一些新功能。
查看是否支持innodb:shwo
variables like 'have_innodb';
开启innodb:编辑mysql.ini文件,找到skip-innodb把它注释掉。
HEAP:内存表,表的数据是存在内存中的,一般用作临时表。优点,速度快比如做排序,缺点,断链数据就丢失。
一、数据库
1.登陆mysql
匿名:# mysql -u
root
有密码:# mysql -u root
-p
2.查看数据库
mysql命令:#
/usr/local/mysql/bin/mysqlshow -u root -p
sql命令:show databases;
3.创建数据库
create database db_test;
//创建一个名字为db_test的数据库
4.删除数据库
drop database db_test;
//删除db_test数据库
5.备份数据库
1)--all-databases
:备份所有数据库
# /usr/local/mysql/bin/mysqldump -u root -p --all-databases
>/home/db_bak
2)--databases
数据库名字:备份选择数据库
# /usr/local/mysql/bin/mysqldump -u root -p --databases
db_test >/home/db_bak
3)--opt:备份大数据库时用,加速数据库的导入和导出,并且锁定所有的表,防止有人更新正在备份的数据库。
6.恢复数据库
# /usr/local/mysql/bin/mysql -u root -p <
/home/db_bak
7.打开数据库
use db_test;
二、表操作
1.创建表(打开数据库)
create table 表名
(
name1 int(11) not null auto_increment primary key,
);
//数据表结构,name是每列的名字,int是类型整数,(11)列值大小,notnull是不允许为空,
auto_increment是列值自动增量,primary
key:设置主键,表里必须有一列是主键。
2. 显示创建的表
show tables;
3. 显示表结构
describe 表名;
4.修改表结构(先要打开数据库)
1) 修改表名
alter table 当前表名
rename 要修改的表名;
2)添加表列
alter table 要修改的表名add column
address varchar(10);
address:要添加的列名。
varchar(10):新添加列的属性。
3)删除表列
alter table 要修改的表名 drop
column 要删除的表列;
4)修改表列类型
alter table 要修改的表名modify
address char(30);
address:要修改的列。
char(30):要修改成的属性。
5)修改表列名
alter table 要修改的表名change
column address address1 varchar(50);
address:原始的列名。
address1:修改后的列名。
varchar(50):修改后的列名属性。
5. 删除表
drop table my_table;
my_table:要删除的表名。
6. 向表中添加数据
insert into 表名字 set
-> body='Why did the chicken
cross theroad? To get to the other side',
->
date='2009-07-29';
body:表示要添加内容的列名,后面是这列添加的内容。
7. 查看表中数据
select * from 表名字;
8. 改变表中数据
update my_table set body='hello word,hello
gile';
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字节;取决于设置的大小
|
存储字符属性,可从中选择多个字符的联合。
例如:多选项选择,比如业余爱好和兴趣。
|