当前位置:Gxlcms > 数据库问题 > MySQL

MySQL

时间:2021-07-01 10:21:17 帮助过:29人阅读

                 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己               的宽度,但宽度是可选的。

 1:数字:整型:tinyint     int     bigint

1)create table t1(id tinyint);

(2)create table t2(id int);

(3)create table t3(id bigint);

              浮点型:float:在位数比较短的情况下使用。----不精确 

                         double:在位数比较长的情况下使用。----不精确

                          decimal:推荐使用---精确

                  

#浮点型测试
0.1231233123412 3123213123123123

float:0.1231233123412 0000000000000000
double:0.1231233123412 3123213123100000
decimal:

#测试
create table t4(salary float(5,2));
insert into t4 values (3.73555);
insert into t4 values (-3.73555);
insert into t4 values (-1111.73555);
insert into t4 values (-111.73555);

2:字符串:

                   char():浪费空间,存取速度快。

                    varchar:精准,节省空间,存取速度慢。 

char与varchar测试()
create table t6(name char(4));
insert into t6 values(‘alexsb‘);
insert into t6 values(‘欧德博爱‘);
insert into t6 values(‘艾利克斯a‘);

create table t7(x char(5),y varchar(5));
#insert into t7 values(‘abcdef‘,‘abc‘);
#insert into t7 values(‘abc‘,‘abc‘);
#insert into t7 values(‘abc‘,‘abcdef‘);

insert into t7 values(‘abc‘,‘abc‘); #char_length :查看字符的长度
insert into t7 values(‘你好啊‘,‘好你妹‘); #char_length :查看字符的长度
#了解
insert into t7 values(‘你好啊‘,‘好你妹‘); #length:查看字节的长度


#注意两点:
insert into t7 values(‘abc ‘,‘abc ‘); #length:查看字节的长度
select * from t7 where y=‘abc ‘; #去掉末尾的空格然后去比较

3:日期类型:

                   datetime: 2017-09-06 10:39:49---年月日时分秒

                          data:2017-09-06 ----年月日

                          time:10:39:49  ----时间

                            year:2017----年

日期类型
create table student(
id int,
name char(5),
born_date date,
born_year year,
reg_time datetime,
class_time time
);

insert into student values(1,‘alex‘,now(),now(),now(),now());
insert into student values(1,‘alex‘,‘2017-09-06‘,‘2017‘,‘2017-09-06 10:39:00‘,‘08:30:00‘);

#了解
insert into student values(1,‘alex‘,‘2017-09-06‘,2017,‘2017-09-06 10:39:00‘,‘08:30:00‘);
insert into student values(1,‘alex‘,‘2017/09/06‘,2017,‘2017-09-06 10:39:00‘,‘08:30:00‘);
insert into student values(1,‘alex‘,‘20170906‘,2017,‘20170906103900‘,‘083000‘);

 

4:枚举与集合:

                       enum:枚举----规定一个范围,可有多个值,但是为该字段传值时只能取给字段范围的一个。  

                        例如:性别

                         set :集合----  规定一个范围,可有多个值,但是为该字段传值时只能取给字段范围的多个。   

枚举与集合
create table student1(
id int primary key auto_increment,
name char(5),
sex enum(‘male‘,‘female‘),
hobbies set(‘music‘,‘read‘,‘study‘,‘coding‘)
);

insert into student1(name,sex,hobbies) values(‘egon‘,‘None‘,‘asdfasdfasdf‘);
insert into student1(name,sex,hobbies) values(‘egon‘,‘male‘,‘music,read‘);

约束:

约束条件与数据类型的宽度一样,都是可选参数

作用:用于保证数据的完整性和一致性
主要分为:

                      primary key(PK)-------标识该字段为该表的主键,可以唯一的标识记录。(不为0,且为1)

                      foreign key(fk)--------标识该字段为该表的外键;      

                      not null-----------------标识该字段  

                    

MySQL

标签:字节   music   速度慢   reg   情况   浮点型   for   name   日期类   

人气教程排行