MySQL
Posted H......T!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL相关的知识,希望对你有一定的参考价值。
数据类型:
存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己 的宽度,但宽度是可选的。
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的主要内容,如果未能解决你的问题,请参考以下文章