Mysql字段类型以及操作

来源:互联网 发布:淘宝公告 编辑:程序博客网 时间:2024/05/17 22:43

五种字段类型

整型: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字节;取决于设置的大小

存储字符属性,可从中选择多个字符的联合。

例如:多选项选择,比如业余爱好和兴趣。

0 0