MySQL学习笔记(二)

— 回顾

本文地址http://www.cnblogs.com/aiweixiao/p/7434548.html

数据库基础知识:

原文地址: http://t.cn/R9g3RV6

1.关系型数据库(磁盘),建立在关乎模型上的数据库,数据结构(二维表),浪费空间。

 

操作数据的命令集合:SQL(DDL,DML[DQL]和DCL)

 2017-08-08 微信号wozhuzaisi 程序员的文娱情怀

完整性约束:表内和表之间(实体)

 

mysql
关系型数据库:c/s结构软件(连接认证,发送SQL指令,服务器处理指令回到结果,客户端接收结果分析结果)

引子

mysql服务端对象:DBMS->Datebase->Table->fields

 

sql 基本操作:库操作,表操作(字段)和数目操作

 

字符集难点:汉语数据难点

  
说起来美女,我们都是爱好的,我也写过几篇过于美丽的女孩子的稿子,我个人而言,仍旧觉得黄皮肤黑眼睛的南美洲巾帼雅观,至于金发碧眼的欧美美丽的女子,我是观赏不了的,总觉得非我族类的觉得,极少有给自身专门或惊艳,或清纯的痛感,婉约,羞涩更是与他们是绝缘的。

变动服务器接收数据的字符集:chatacter_set_client

图片 1

转移服务器再次回到数据的字符集:character_set_results

欧美美人-加拿大仙子寇碧·史Maud斯

连忙方式:set names 字符集(三件事)

 

web乱码难点:浏览器解析,php处理(本地文件),数据库处理

   
我那样说就有些兄弟不欢娱了,他们喜爱的就是欧美美丽的女孩子的那种华贵范儿,或者如好莱坞女星的妖媚美丽,或者如英伦皇家范儿的典故高尚,或者如拉美热情奔放的仙人,由此可见他们有胆魄是能有一份审美在内部的。

校队集难题:相比较规则:_bin , _cs和_ci

   
想到那里,大家就姑且聊聊欧美的美人吧,间或咱也来点非裔的,拉美的胞妹,作为疏通。

— 数据类型(列类型)

欧美美观的女生面面观

所谓的数据类型:对数据开展统一的归类,从系统的角度出发为了可以选取统一的不二法门举行田间管理更好的使用有限的上空。

 
 那里谈的是泛欧美系的仙人,提议来亚裔黄种赏心悦目的女子之外的仙子。首借使亚洲,美洲,澳国,甚至欧洲的玉女,哈哈。

SQL 中校数据类型分成三大类:数值类型,字符串类型和时间项目。

【01 United States美女】:

图片 2


一.数值型

   
 美国
的仙子,在世界也是盛名的。毕竟《花花公子》,“维多利亚的心腹”等一大批美人相关的家底在那里,好莱坞也是红颜明星的诞生地。

数值型数据:都是数值,系统将数值型分为整数和小数型

图片 3

1.整数型

欧美美丽的女人-美利坚合营国美女Scarlett·Johnson

寄存整型数据:再SQL中因为更多着想怎么样节约磁盘空间,所以系统将整型分为5类

 

Tinyint :迷你整型,使用一个字节存储,表示的状态最多位256个(常用)

   
曾经看过一个好莱坞的大片叫《超体》,里边的女主就是Scarlett·Johnson了,演技还不错,至少电影里手撕多少个壮汉分分钟的事,颜值嘛,我认为在欧美人子里是大漂亮的女子了,总是带点挑逗性质。

smallint:小整形,使用2个字节存储,表示的景况最多位65536种

图片 4

mediumint:中整型,使用3个字节存储,表示

欧美美丽的女子-美利坚联邦合众国淑女泰勒·Swift

int:标准整型,使用4个字节存储(常用)

 

bigint:大整型,使用8个字节存储

   
 泰勒·斯维夫特作为美利哥历史上唯一一位富有三张首周百万销量专辑的歌者,在欧美丽的女人星里人气居高不下,除了动人的歌喉,她的颜值本身已经制服了无数的男女。

图片 5

图片 6

例:创设一张整型表

欧美美丽的女子-美利哥仙子Lady GaGa

mysql> create
table my_int(int_1 tinyint, int_2smallint, init_3int) charset
utf8;

 

图片 7

    还有一个在炎黄很有信誉的美利坚同盟国佳丽歌星,她就是Lady GaGa,她的单曲《Bad
Romance》和《Poker
Face》在中原火的杂乱无章,将欧漂亮的女人子的魅惑演绎地不亦乐乎。

例:输入数据:只可以插入整型,范围内的整型

图片 8

mysql> insert
into my_int values (100,100,100,100); #立竿见影数据

欧美美人-弥利坚靓女凯瑟琳·Mike纳马拉

mysql> insert
into my_int values (‘a’,’b’,’199′,’f’); #无效数据,类型限定

 

mysql> insert
into my_int values (255,1000,10000,100000); #超出范围

   
 其实还有众多弥利坚的红颜,真是应接不暇,比如凯瑟琳·Mike纳马拉,比如朱玛娜·基德,其中朱玛娜·基德看起来颇有点亚裔的味道。

图片 9

图片 10

SQL中的数值类型整体都是默许有号子:分正负,但奇迹须求选择无符号数据:必要给多少限定:int unsigned; #无符号,从0开始

欧美雅观的女子-美国月宫仙子朱玛娜·基德

例:给表增添一个无符号类型

 

mysql> alter
table my_int add int_5 tinyint unsigned;

   
最后要隆重推出的是弥利坚于今最烜赫一时的一级大美观的女生,我自己也很喜爱的,她就是现任美利坚合营国总理川普的丫头伊万卡·川普,她不光是世界顶级级超级模特,仍然米国London房地产巨鳄川普公司副首席执行官。厉害了。

图片 11

图片 12

例:插入数据

欧美美人-美利坚合营国名媛伊万卡·川普

mysql> insert
into my_int values(127,1000,10000,100000,255);

 

图片 13

【02 南美洲淑女】:

查看表结构的时候,发现每个字段的数据类型之后都自带一个括号里面有数值,那个是显得涨幅,但它从不此外意义只是报告用户可以来得的款型而已;实际上用户是可以控制的,那种操纵不会变动多少本身尺寸;


图片 14

   
 1)英帝国常娥:提到英帝国的名媛小甜心,不由得不提到奥黛丽赫本,她在《布拉格假期》里的经典演出制服了无数的观众,我认识周围的很多三姐都很欢欣他,还要以他为规范,其中就有“匆匆那年”的一位。感觉英帝国的常娥都显得很名贵啊。很有范儿。

例:mysql> alter table my_int add int_6
tinyint(1) unsigned; #指定呈现涨幅为1

 

图片 15

图片 16

表明:突显涨幅的含义是在当数码不够展现涨幅的时候,会活动让数据变成对应的浮现涨幅;寻常须求搭配一个前导0来伸张幅度,可是值大小不变。zerofill(零填充):零填充会导致数据自动成为无符号

欧美美丽的女生-大不列颠及北爱尔兰联合王国好看的女人奥黛丽赫本

例:mysql> alter table my_int add int_7
tinyint (2) zerofill; #表示突显涨幅为2,0填充

 

图片 17

     
2)俄联邦仙子:俄联邦人有个段子,讲世界各国的特产,所谓瑞士手表、德意志小车、东瀛家电、法兰西香水,俄国啊?当然是孙女了!此言不虚啊——肌肤白里透红的俄联邦佳丽,是盛大俄联邦全世界上最壮丽的风景。白里透红的脸蛋上荡漾着年轻的味道,那粉雕玉琢般的脸庞精致得让人无所适从用言语形容。高挑的个头,宽大美丽的羊毛披肩搭着皮夹克上装。下着一条百褶节裙再配一双时尚的长靴,把一双秀腿完美地表现在人们面前。摩登和流行被她们表现得那么的适度。你会惊讶,世界上最美妙的女生怎么都集中在俄国。那里边的代表人士就是豪门熟练的网球赏心悦目的女孩子Sarah波娃,也得以观看俄国的月宫仙子普遍脸相比长,跟中国西北的尤物很相似。

例:mysql> insert into my_int
values(1,1,1,1,1,1,1); #零填充+突显涨幅的成效

图片 18

mysql> insert
into my_int values(100,100,100,100,100,100,100);

欧美赏心悦目的女生-俄联邦美丽的女孩子Sarah波娃

图片 19

 

零填充的意义(突显涨幅):保障数据格式

      3)
意国美丽的女生:在意国,不管在马路上、商场里,仍旧在展厅、机场,眼前众多玉女晃动着,忍不住要多看几眼。她们身材修长,头小小的,高鼻梁、深陷的碧眼,皮肤白而细腻,化妆淡雅,衣着时髦,但又持续了古典的美,身上透出一股圣洁高贵的神韵,决没有发生户那种俗气和卖弄风流的不正之风,使您在看她们时,发生既舒适、又极其向往的审美感受。

2.小数型

图片 20

小数型:带有小数点或者限制超出整型,SQL中校小数型分成两种:浮点型和定点型

欧美美丽的女子-捷克共和国(Česká republika)美人

浮点型:小数点浮动,精度有限,而且会丢掉精度

 

定点型:小树点固定,精度是原则性的,不会丢掉精度

     
4)捷克(Czech)仙子:有人说,捷克(Czech)妇人的肉麻风姿是由历史深处吹来,抑或是波西米亚人的性感性格使然。也有人说,不是女生不温柔,只因未到捷克共和国(Česká republika)。倘使还不亮堂的话,那您就看看外表平静、面孔精致,打动了不少品牌设计师心的捷克(Czech)赏心悦目的女生模特。即使他们有局地造型很狂野,不过在她们的肉眼里,你要么能感觉到到他们的心像亚特兰大暮色降临的瓦塔河一模一样,安静而甜美。

2.1浮点型

图片 21

浮点型数据是一种精度型数据:超出指定范围之后,会丢掉精度(自动四舍五入)

欧美赏心悦目的女生-丹麦仙子珂兰葵尔瑞

Float
: 单精度,占用4个字节存储数据,精度范围大致为7位左右

 

Double: 双精度,占用8个字节存储数据,精度方位大致为15位左右

     
5)丹麦王国佳丽:丹麦王国靓女高大修长的个子就好像与他们登高履危的行径有些不般配,在此外场面,丹麦王国美丽的女子总是大方有礼,轻言细语。她们温柔多情,一双如梦如幻的大双目尤其令人心动。作为海的闺女,她们无疑是世界上最令人向往的仙子之一。

图片 22

图片 23

例:创造浮点数表

欧美美人-西班牙王国名媛看球的粉丝

浮点数的利用形式:直接float 表示从未小数部分;float(M,D):M代表总长度,D代表小数部分长度,整数局委员长短为 M-D

 

mysql> create
table my_float (f1 float,f2 float(10,2),f3 float(6,2)) charset
utf8;

     
6)西班牙(Reino de España)美人:西班牙(Spain)女生是公认澳大利亚(Australia)最雅观的才女之一,在大街上,看来来反复的西班牙王国(The Kingdom of Spain)妇女实在是件清凉又春风得意的事。炙热的阳光让西班牙(Spain)妇人各类都穿得很清凉,坦胸、露背、超短迷你裙,配上一身长年在骄阳下晒出的古铜肌肤。但是那可不包罗情色想像,喜欢的是西班牙(Spain)才女那种自然不做作的规范,无论身材好坏都自信满满的模样,感觉实在很舒服。

图片 24

   
7)乌克兰(УКРАЇНА)佳丽:乌Crane靓女,也是美的跟俄罗斯靓女有的一拼,还记得更加名叫梅爱偲的炎黄相公呢?在炎黄每一天学渣,还结过五遍婚,不过仍然娶得乌Crane大美女达莎做内人,真是羡慕啊!

例:插入符合条件数据,能够是直接小数也足以是科学计数法

 

mysql> inster
into my_float values(1000.10,1000.10,1000.10); #符合条件

图片 25

mysql> inster
into my_float values(1234567890,12345678.90,1234.56); #符合条件

欧美美观的女孩子-乌克兰(УКРАЇНА)仙子达莎

mysql> inster
into my_float values(9999999999,99999999.99,9999.99); #最大值

 

mysql> inster
into my_float values(3e38,3.01e7,1234.56); #符合条件

【03 拉美美丽的女孩子】:

图片 26


浮点型数据的插入:整数有些是无法超出长度的,不过小数部分可以当先长度(系统会活动四舍五入)

      1)阿根廷美丽的女子:
拉丁美洲的混血赏心悦目的女孩子很有信誉,阿根廷尤为诞生世界超级模特的地方。风尚街市里匆匆走过的常娥都有着浅蓝色的皮肤,柔媚的曲线,和淡雅的馥郁;一举手,一投足,都带着脱俗的派头。纵然是街头跳探戈的舞女,也都是独具感人的腰身和精制的化妆。阿根廷靓女多数住在上海斯德哥尔摩,那里的名媛能够、风尚、优雅、大方。瞧着那个款款而行的阿根廷美人们,你会不会有一种长居于此的私欲呢。行云流水阿根廷能有如此的妹子,真是不错呀。

例:超出长度插入数据

图片 27

mysql> inster
into my_float values(123456,1234.12345678,123.9876543);#小数部分是足以的

欧美漂亮的女子-阿根廷卢西亚娜·Sara萨尔

mysql> inster into my_float
values(123456,1234.12,123456.56); #平头局地不止

 

图片 28

   
 2)巴西仙子:巴西是社会风气上盛产美人最多的国度之一。在各样世界选美大赛中,屡见巴西月宫仙子夺魁。顶极名模吉赛尔.邦辰令天下男人和妇女为之着迷。在巴西国内,卡尔加里又是红颜最集中的地点,被誉为男人的西方。无论是在日光沙滩,依旧遍地,在商场、酒吧,在城铁、公交车上,漂亮的女子四处可知。用美丽的女生如云来描写,毫不夸张。巴西干什么盛产美丽的女生

结果:浮点数一定会展开四舍五入(超出精度范围):浮点数假如是因为系统进位导致整数超出指定的长短那么系统也允许成立

写在结尾

图片 29

     
曾有玩笑称欧美美丽的女生靠基因,日本美观的女孩子靠化妆,高丽国赏心悦目的女孩子靠整容,中国名媛靠PS+玻尿酸。我觉得不是很得体,依然喜欢亚裔雅观的女孩子多或多或少,不过欧美的月宫仙子看看也不妨,也好不不难一种审美。

2.2 定点型

图片 30

定点型:相对保障整数部分不会被四舍五入(不会丢掉精度),小数部分有可能(理论小数部分也不会丢掉)

欧美美人-德意志联邦共和国月宫仙子看球的粉丝

图片 31

 

创设定点数表

     
最后,装一下B:美女犹如审美,审美的心灵在感受中经过物理统一净化情色、狭隘的利益和纯粹的技巧,并使其内涵得到升华。庸俗化的审美倾向对于穷奢极侈的生理的满足,永远不可能上涨到审美享受的境地。

mysql> create
table my_decimal(f1 float(10,2),d1 decimal(10,2)) charset utf8;

图片 32

图片 33

欧美美丽的女孩子-关怀微信公众号

安排数据:定点数的整数部分一定不可能超出长度(进位不得以),小数部分的尺寸能够随心所欲超出(系统自动四舍五入)

 

mysql> inster
into my_decimal values(12345678.90,12345678.90); #有效数据

mysql> inster
into my_decimal values(1234.123456,1234.123456); #小数部分超越

图片 34

发觉有一条警告,查看警告的指令位: mysql> show warnings;

浮点数即使进位导致长度溢出是能够的,但定点数不行

mysql> insert
into my_decimal values(99999999.99,99999999.99);

mysql> insert
into my_decimal values(99999999.99,99999999.999); #进位超出范围

图片 35

查阅数据

图片 36


. 时间日期类型

Datetime:时间日期,格式是 YYYY-mm-dd HH:ii:ss 表示的限制是从1000年初始到9999年,有0值:0000-00-00 00:00:00

Date:日期,就是datetime 中的date部分

提姆e:时间(段),指定的某个区间之间,-时间到+时间

提姆estamp:时间戳,并不是光阴戳,只是从1970年始发的YYYY-mm-dd HH:ii:ss 格式和datetime 完全一致

Year:年份,两种表示形式,year(2)和year(4):1901-2156

图片 37

创立时间日期表

mysql> create
table my_date(d1 datetime,d2 date,d3 time,d4 timestamp,d5 year) charset
utf8;

图片 38

插入数据:时间time可以是负数,而且可以是很大的负数,year 可以动用2位数插入,也足以动用4位

mysql> insert
into my_date values(‘2015-9-28
11:50:36′,’2015-9-28′,’11:50:54′,’2015-9-28 11:51:08’,2015);

mysql> insert
into my_date values(‘2015-9-28
11:50:36′,’2015-9-28′,’-11:50:54′,’2015-9-28 11:51:08′,2015);

mysql> insert
into my_date values(‘2015-9-28
11:50:36′,’2015-9-28′,’-211:50:54′,’2015-9-28 11:51:08′,2015);

year 可以应用两位照旧四位

mysql> insert
into my_date values(‘2015-9-28
11:50:36′,’2015-9-28′,’-11:50:54′,’2015-9-28 11:51:08′,69);

mysql> insert
into my_date values(‘2015-9-28
11:50:36′,’2015-9-28′,’-11:50:54′,’2015-9-28 11:51:08′,70);

图片 39

提姆estramp 字段:只要当前所在的记录被更新,该字段一定会自动更新成当下光阴

修改记录

mysql> update
my_date set d1 = ‘2015-9-28 11:55:45’ where d5 = 2069;

图片 40

三.字符串类型

在SQL中,将字符串类型分成了6类:char,varchar,text,blob,enum和set

1.1 定长字符串

定长字符串:char,磁盘(二维表)在概念结构的时候,就曾经规定了最后的囤积长度,将来不可以更改

char(L):L
代表length,可以储存的长短,单位为字符,最大尺寸为255.

char(4):在 utf8 环境下,需要4 * 3 = 12 字节

1.2 变长字符串

变长字符串:varchar,在分配空间的时候,根据最大的空间分配,不过实际最终用了多少,是按照现实的数目来确定。

1.2 变长字符串

varchart(L):L
代表字符长度理论长度是65536 个字符,不过会多出1到2个字节来规定存储的实在尺寸:不过事实上只要长度超过255,就既不用定长也不用变长,使用文本字符串text

varchar(10):的确存了10个汉字,utf8环境,10*3+1=31

存储了3个汉字 3*3+1=10(bytes)

定长与边长的仓储实际空间(utf8)

图片 41

怎么抉择定长或者是变长字符串呢?

定长的磁盘空间相比浪费,但功能高;倘诺数量大约确定长度都平等,那么就动用定长,如:身份证,电话号,手机号等;

 

 

变长的磁盘空间相比较节省,不过成效低;倘诺数量不可以确定长度(分化数额有生成),如姓名,地址等

 

1.2 文本字符串

假定数据量卓殊大,平时当先255个字节就会选择文本字符串

文本字符串根据存储的数据的格式举办归类:text和blob

Text :存储文字(二进制数据实际上都是储存路径)

Blob :存储二进制数据(经常并非)

四:枚举字符串

枚举:enum,事先将兼具可能出现的结果都规划好,实际上存储的数额必须是规定号中的一个

枚举的施用办法

概念:enum(可能出现的要素列表);

应用:存储数据,只好存储方面定义好的多寡

始建枚举表:

mysql> create table my_enum(gender
enum(‘男’,’女’,’保密’)) charset utf8;

图片 42

布置数据:作用之一:规范数据,数据只能是内部的一个

mysql> insert into my_enum
values(‘男’),(‘保密’); #立竿见影数据

mysql> insert
into my_enum values(‘male’); #错误数据,没有该因素

图片 43

职能二:节省存储空间(枚举别名:单选框):枚举实际存储的是数据而不是字符串

在mysql中,系统也是电动转换数据格式的:而且主旨和php一样(尤其是字符串数字)

证实字段存储的多寡是数值:将数据取出来+0就可以看清出原先的数据存的到底是字符串依然数值:假诺是字符串最后结果永远为0

mysql> select gender + 0, gender from
my_enum; #将字段取出来举行+0运算

图片 44

找出了枚举元素的实际规律:依据元素出现的顺序;从1上马开头编号

图片 45

枚举原理:枚举在进展多少标准的时候系统会自动建立数字与枚举元素的呼应关系(关系放到日志中):然后在拓展数据插入的时候,系统活动将字符转换成对应的数字存储,然后在开展数据抓取的时候,系统自动将数值转换成对应的字符串突显。

因为枚举实际存储的是数值所以可以直接插入数值

mysql> insert
into my_enum values (1),(2);

图片 46

五:集合字符串

会师跟枚举很接近:实际存储的是数值,而不是字符串(集合是多选)

集结使用办法

概念:set(元素列表)

使用:可以应用要素列表中的元素(多少个),使用,分隔

图片 47

mysql> create table my_set(hobby
set(‘篮球’,’足球’,’乒乓球’,’羽毛球’,’排球’,’台球’,’网球’,’棒球’)) charset utf8; #聚集中:每个元素都是对应一个二进制位,被选中为1,没有则为0,组后反过来。

 

创制集合表:

图片 48

插入数据:可以拔取多少个因素字符串组合,有可以直接插入数值

mysql> insert into my_set
values(‘足球’,’台球’,’网球’);

mysql> insert
into my_set values(3);

图片 49

查看集合数据

mysql> select
hobby + 0, hobby from my_set;

聚拢中每个元素都是对应二进制位;

mysql> inster
into my_set values(255);

图片 50

会合中元素的顺序没有提到,最后系统都会去匹配顺序。

颠倒元素出现的各种

mysql> inster into my_set
values(‘网球’,’台球’,’足球’);

图片 51

集合的兵不血刃在于可以规范数据和空间,在事实上行使中成效优先,所以很少使用。

六:Mysql记录长度

Mysql
中规定:任何一条记下最长不可以当先65535个字节,(varchar 永远达不到理论值) varchar 的实际存储长度能落得多少需看字符集

UTF8
下 varchar 的莫过于顶配:21844 字符

GBK
下 varchar 的实在顶配;32766 字符

图片 52

假诺想用完65535个字节长度需扩张个tinyint 字段

图片 53

mysql记录着如若有其它一个字段允许为空,那么系统会自动从总体记录中保留一个字节来囤积null(若想释放null所占据的字节,必须确保所以的字段都同意空)

图片 54

Mysql
中 text 文本字符串,不占用记录长度;额外存储,可是text文本字符串也是属于记录的一部分,一定须要占用记录中的部分长度10个字节。(保存数据的地址和长短)

text 占用十个字节长度

mysql> create
table my_utf82(age tinyint not null,name varchar(21843) not
null,content text) charset utf8;

图片 55

七.列属性

列属性:真正约束字段的是数据类型,不过数据类型的羁绊很单纯,由此须求有些非凡的牢笼来充实有限支撑数据的合法性

列属性有为数不少:NULL/NOT NULL,defaul,prinary key,uniquee
key,auto_increment,comment

空属性:NULL(默认的)和NOT NULL(不为空)

尽管默许的,数据库基本都是字段为空,不过实际大家尽量有限帮衬拥有数据都不该为空:空数据尚未意思;空数据尚未办法参预运算。

图片 56

创建实际案例表:班级表(名字,教室)

mysql> creare table my_class(name
varchar(20) not null,room varchar(20) null) charset utf8; #代表允许为空,null不写默认就是为空

图片 57

八.列描述

列描述:comment,描述没有实际意义:是特意用来描述字段,会按照表创造语句保存:用来给数据库管理员来开展摸底的。

创建表

mysql> create table my_teacher(name
varchar(20) not null comment ‘姓名’,money decimal(10,2) not null comment
‘工资’) charset utf8;

图片 58

九.默认值

默许值:某一种数据会平时性的产出某个具体的值,可以再一开首就指定好,再要求真实的数量时,用户可以接纳性的运用默许值。

默许值关键字:default

mysql> create table my_default(name
varchar(20) not null ,age tinyint unsigned default 0,gender
enum(‘男’,’女’,’保密’) default ‘男’) charset utf8;

图片 59

默许值的见效:使用,在多少举办扦插时,不给改字段赋值

插入数据

mysql> insert into my_default (name)
values(‘高强’);

图片 60

想要使用默许值,可以不一定区指定列表;可以选择default关键字代替值

mysql> insert into my_default
values(‘范立峰’,’18,default);

图片 61