mysql数据类型
mysql支持多种类型,大体能够分为三类:数值、日期/时间和字符串(字符)类型。
1.整型:
.1.tinyint(m):1个字节 范围是(-128~127)
.2.smallint(m):2个字节 范围是 (-32768~32767)
.3.medidumint(m):3个字节 范围是 (-8388608~8388607)
.4.int(m):4个字节 范围是(-2147483648~2147483647)
.5.bigint(m): 8个字节 范围是 (+-9.22*10的18次方)
2.浮点数(float和double):
.1.float(m,d): 单精度浮点型 8位精度(4字节) m总字数,d小数位
.2.double(m,d):双精度浮点型 16位精度(8字节) m总字数,d小数位
注:
设一个字段定义为float(5,3),若是插入一个数123.45678,实际数据库里存的是123.457,但总个数还以实际为准,即6位。
#必须精度时用双精度。
3.定点数:
浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。
decimal(m,d)参数m<65是总个数,d < 30 且 d < m 是小位数。
utf-8
一个英文字符等于一个字节,一个中文三个字节。
4.字符串(char,varchar,_text)
.1.char(n) :固定长度,最多255个字符
.2.varchar(n) :固定长度,最多65535个字符
.3.tinytexe :可变长度,最多255个字符
.4.text :可变长度,最多65535个字符
.5.mediumtext :可变长度,最多2的24次方-1个字符
.6.longtext :可变长度,最多2的32次方-1个字符
5.日期时间类型
.1.date :日期‘2008-12-2’
.2.time :时间‘12:25:36’
.3.datetime :日期时间‘2008-12-2 22:06:44’
.4.timestamp :自动存储记录修改时间
#timestamp 设计时间差的时候运用
6.数据类型bit
bit称为数据类型,其数据有两种取值:0和1,长度为1位。在输入0之外的其余值时,系统均把它们当1看待。这种数据类型常做为逻辑变量使用,用来表示真、假或是。否等二值选择。
#例句: bit 0and1
通常运用在判断 性别、真假。
——————————————————————————
数据类型的属性
.1.null :数据列可包含null值
.2.not null : 数据列不容许包含null值
.3.default : 默认值
.4.primary key : 主键
.5.auto_increment : 自动递增,适用于整数类型
.6.unsigned :无符号
.7.character set name : 指定一个字符集
#primary key 主键 又称 元首键 (主键不能为空)
#auto_increment 自动递增,永远跟随着“主键”,且只能有一个。
数据库类型的属性,重点是主键(primary key)和自动增加(auto_ubcrement),理解主键的含义。
主键的含义:
表中的每一行都应该具备能够惟一标识本身的一列(或一组列),而这个承担标识做用的列表为主键。
通俗点说,主键就至关于每一行的身份证。
若是没有主键,数据的管理将会十分混乱。好比会存在多条如出一辙的记录,没有一个像身份证同样的主键,删除和修改将会十分困难。
——————————————————————————
命令行操做
1.查看数据库下有哪些表
输入:
show tables;
回车显示:

2.建立表
格式:
create table 表名(
字符段名 数据类型 数据类型的属性,
字符段名 数据类型 数据类型的属性 default"备注"
);
#default"" 设置默认的意思,无关紧要。
#“,”用来分割字符段。
输出:
create table classes(
id INT unsigned primary key auto_increment not null, name varchar(30) not null default ''
);
回车显示:

表示建立成功。
3.修改表名
格式:
alter table 表名 rename to 新表名;
输入:
alter table classes rename to cool;
回车显示:

表示更改为功。
4.删除表
格式:
drop table 表名;
输出:
drop table cool;
回车显示:

表示删除成功。
5.查询表信息
格式:
select * from 表名;
输出:
select * from classes;
回车显示:

这是查询的表信息。
6.向表内插入数据
格式:
insert into 表名 values();
输出:
insert into classes values(0,'一年级'),(0,'二年级');
回车显示:

表示插入成功。
7.删除数据(针对数据的)
格式:
delete from 表名 where id = 1;
输出:
delete from classes where id = 1;
回车显示:

表示成功删除id为1的数据。
8.修改数据
格式:
update 表名 set 字段名 = '1234' where id = 1;
输出:
updata classes set name = '三年级' where id = 1;
回车显示:

表示修改为功。
改前:

改后:

9.增长字段
格式:
alter table`表名`
add column `字段名` 属性;
输出:
alter table `classes`
add column `age` int(3) unsigned;
回车显示:

表示添加成功。
10.修改字段名‘’
格式:
alter table `表格`
change column `原字段名` `新字段名` int(3) unsigned;
输入:
alter table `classes`
change column `age` `age_0` int(3) unsigned;
回车显示:

修改为功。
11.删除字段
格式:
alter table `表名`
drop column `字段`;
输入:
alter table `classes`
drop column `age`;
回车显示:

表示删除成功。
12.查看表字段信息
格式:
desc 表名;
输入:
desc classes;
回车显示:
