mysql数据库介绍及应用

一、数据库定义

数据库系统
DataBseSystem=数据库管理系统(DBMS,DateBaseManangementSystem)+数据库(DataBase)+管理员

DBS=DBMS+DB
定义:对大量信息进行管理的高效解决方案,按照数据结构来组织、存储和管理数据的库

关系型数据库系统(对应的是非关系型数据库,nosql,如redis)
建立在关系模型上的数据库系统,

关系模型:
当将日常生活中的实体(学生),和实体的属性(学生的学号,姓名)保存到数据库中时,应该如何处理该实体结构
1、数据结构可以规定,同类数据、结构一致,就是一个二维的表格,
2、数据之间的关系可以设置,实体之间的联系

sql:数据库管理系统,用来管理数据的语言,结构化查询语言(sql,StructuredQueryLanguage)
mysql是c/s模型,客户端/服务器, client/sever  (客户端,服务器端,数据库)

查看字符集 show variables like '%char%';
show variables(显示字符集)


二、sql数据库的类型
可使用unsigned控制是否有正负
可以使用zerofill来进行前导填充
也存在布尔bool类型,但是就是tinyint(1)的别名

tinyint;
1个字节
-128-127
0-255
在定义时,不写unsigned就是有符号

定义显示宽度:通过规定数据的显示宽度,达到统一显示的目的
类型(M)M表示显示的最小宽度是多少,
需要使用前导零的填充达到目的,称之为zerofill
例:alter table xxx add c tinyint(2) zerofill; (显示宽度是2)

注意:1、不影响数的范围 2、宽度大的不影响,不会截取

类型           字节           最小值(有符号/无符号)       最大值(有符号/无符号)
tinyint          1              -128/0                        127/255
smallint         2               -32768/0                      32767/65535
mediumint        3            -8388608/0                    8388607/16777215
int/intege       4            -2147483648/0                2147483647/4294967295
bigint           8            

float(单精度)  4     (默认精度位数为6位左右)       
double(双精度)   8      (默认为16位左右)

支持,控制数值的范围  type(M,D) M表示所以的数值位数(不包括小数点和符号)D表示允许的小数位数
a float(5,2)  
999.99  -999.99
b double(8,3)
-99999.999  99999.999

浮点数支持科学计数法 1.1234E3 相当于 1.1234*1000

定点数: decimal(M,D)M总位数 D小位数 M默认为10,默认为0



日期时间

年月日时分秒      时间戳                  年月日              时分秒             年
Datatime           Timestamp                Data                Time            Year



Time类型:表示意义:1、一天中的时间 2、表示时间间隔

字符串类型
 类型           最大长度
 char            255
 varchar        65535(整条记录长度+保存是否为null(占一个字节)+保持记录的长度信息(占2个字节))     
  text           不用指定长度,和varchar差不多,也不用保存长度信息,可以完全保持信息
  enum(枚举型)  例 gender enum('female','male');

  set('basket','football','pingpang');
  insert into xx  value('basket,football');

 

posted @ 2015-09-21 22:19  书书书书书书  阅读(175)  评论(0编辑  收藏  举报