MySQL数据库学习笔记Word文档下载推荐.docx

上传人:b****2 文档编号:5923001 上传时间:2023-05-05 格式:DOCX 页数:26 大小:35.09KB
下载 相关 举报
MySQL数据库学习笔记Word文档下载推荐.docx_第1页
第1页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第2页
第2页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第3页
第3页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第4页
第4页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第5页
第5页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第6页
第6页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第7页
第7页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第8页
第8页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第9页
第9页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第10页
第10页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第11页
第11页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第12页
第12页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第13页
第13页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第14页
第14页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第15页
第15页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第16页
第16页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第17页
第17页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第18页
第18页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第19页
第19页 / 共26页
MySQL数据库学习笔记Word文档下载推荐.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MySQL数据库学习笔记Word文档下载推荐.docx

《MySQL数据库学习笔记Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MySQL数据库学习笔记Word文档下载推荐.docx(26页珍藏版)》请在冰点文库上搜索。

MySQL数据库学习笔记Word文档下载推荐.docx

BIGINT8-9223372036854775808922337203685

4775807

2、字符串(字符)类型

3、日期和时间类型

4、Null类型不同于例如数字类型的0或字符串的

5、布尔类型TUREFALSE

标识符约定

标识符最大长度允许的字符

数据库64一个目录名中允许的任何字符,除了和.表64一个目录名中允许的任何字符,除了/和.

列64所有的字符

索引64所有的字符

加名255所有的字符

定界符反引号ANSISQL中双引号为定界符

注意:

在MYSQL中,数据库和表对应操作系统下的目录与文件,因而,操作系统的敏感性决定数据库和表命名的大小敏感,所以在LINUX下数据库与表名的大小写敏感提示:

USE,HELP是Mysql中为少数几个不需要终结符的语句之一.

用户变量表示为:

@var_name;

set@x=99;

等同于@x:

=99;

系统变量用两个@@表示,它分为2种,全局系统变量和会话系统变量.

下面详细说明各种类型

MySQL支持所有的ANSI/ISOSQL92数字类型.

1、数值型

一个整数可以在浮点语境中使用;

它被解释为等值的浮点数;

同样,一个浮点数可以被转化为整数,但损失精度,如100.1->

100,100.5->

101;

2.Mysql支持16进制数值,在数字的语境中,它们表现类似于一个整数(64位精度);

如select0xa+0;

在字符串的语境中,它们表现类似于一个二进制的字

符串,每一对16进制ASCII码被转为一个字符:

select0x787868;

=selectx'

787868:

selecthex('

xxh'

);

select0xa+5;

selecttrue,true,flase,FALSE;

其中浮点型用于域,表示方法解释一下,如:

FLOAT[(M,D)][UNSIGNED][ZEROFILL]

如果UNSIGNED被指定,负值是不允许的。

M是显示宽度,D是小数位数。

并且如果负号■”也占一个宽度。

2、字符串类型

字符串是多个字符组成的一个字符序列,由单引号,

或双引号字符包围,但在ANSI模式中运行时只能用单引号,也就是说在SQLSERVER数据库,使用应该使用单引号,保证兼容性应该使用单引号.

字符串类型有CHAR、VARCHAR、BLOB、TEXT、ENUM和SET;

ENUM是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举。

每个枚举值均有一个索引值:

在列说明中列表值所允许的成员值被从1开始编

号。

空字符串错误值的索引值为0。

这就意味着,你可

以使用下面所示的SELECT语句找出被赋于无效ENUM值的记录行。

mysql>

SELECT*FROMtbl_nameWHEREenum_col=0;

NULL值的索引值为NULL。

总结:

ENUM用于互相排斥的值,而SET列可以从一个值的列表中选择多个值。

常用技巧:

1.在命令提示符下:

mysql-h-urootdb_name<

x.sql

在串的环境中,可用十六进制常数来指定串值。

语法与前面描述的数值值相同,但是每对十六进制的数字都被看作ASCII代码并转换为字符,其结果用于串。

例如,0x616263作为串时为“abc。

在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号(”开头,称为转义字符”

MySQL识别下列转义字符:

\0一个ASCII0(NUL)字符”

\'

一个ASCII39单引号(“’字符”

\"

一个ASCII34双引号(“"

字符”

\b一个ASCII8退格符”

\n一个ASCII10换行符”

\r一个ASCII13回车符”

\t一个ASCII9制表符(TAB)。

\zASCII(26)(Control-Z)。

这个字符可以处理在

Windows系统中ASCII(26)代表一个文件的结束的问题。

(当使用mysqldatabase<

filename时ASCII(26)可能会引起问题产生。

\\一个ASCII92反斜线(“”)字符。

\%一个ASCII37“%”字符。

它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符。

查看章节6.3.2.1字符串比较函数。

\_一个ASCII95“_字”符。

它用于在正文中搜索“_”的文字实例,否则这里“_将”解释为一个通配符。

查看章节6.3.2.1字符串比较函数.

3、日期和时间类型

4、Null类型

Null是ANSI中值的空。

查找NUll类型用ISNull和IS

NotNull测试;

并且不能对NULL类型进行算术运算。

其结果为NULL。

5.mysql的注释

为两种:

/**/和#(单行注释,类似UNIX的脚本注释;

第07章MySQL函数

mysql运算符

A.比较运算符=,!

=(<

>

),>

>

=,<

<

=

Null安全等于比较<

=>

isnull,isnotnullisnull(express)

如果expr大于或等于min,并且expr小于或等于max,between返回1,否则返回0.它等价于表达式(min<

=exprandexpr<

=max)

exprin(v1,v2,);

如果expr是in列表中的一值,它将

返回1,否则返回0.

B.逻辑运算符

在mysql中,所有的逻辑运算符返回的值均为

1(true),0(false)和null实现.

select!

1等同于selectnot1;

C.流程控制函数

ifnull(expr1,value)当exprl的值是null时,返回value,不是null时,返回expr1

casevaluewhen[compare-value]thenresult[..]

set@a=2;

selectcase@a

when1then'

one'

when2then'

two'

else'

more'

end;

if(expr1,expre2,expr3)

如果exprl为真,(expr1<

0以及expr1<

null),那么if()返回expr2,否则返回expr3

nullif(expr1,expr2)如果expr1=expr2为真,返回null,否则返回expr1;

selectnullif(1,1);

->

null

selectnullif(1,2)

1

D.mysql字符串函数

返回字符串str最左边的那个字符的ASCII码值.

selectascii('

2'

50

返回N的字符串表示的2进制值形式.

selectbin(12);

'

1100'

返回N的字符串表示的八进制值形式

selectoct(12);

14

如果x是一个数字,返回n的字符串表示的16进制值形如果x是一个字符串,x中的每个字符均被转换为2位

16进制数字,并以16进制的字符串形式返回.这是0xff形式的字符串反转操作.

selecthex(255);

ff

selecthex('

abc'

//selectascii('

a'

->

97

selecthex(97);

61

616263

0x616263;

abc

char()以整数类型解释参数,返回这个整数所代表的

Ascii码值给出的字符组成的字符串,null值将被忽略mysql>

selectchar(120,120,104);

xxh

concat(str1,str2,...)

将参数连接成字符串返回,如果有任何一个参数为null,

返回值也为null.

Iocate(子串substr,母串str)返回子串substr在字符吕中第一次出现的位置.如果子串substr在str中不存在,返回值为0:

Itrim(str)

返回移除了领头的空格字符后的str;

第08章MySQL数据操纵语言DML

select语法

seIect列1,列2,列3,,,,,

from表1,表2,表3

[where条件]

[groupby...]

[having]

[]

第二节域/列类型属性域/列的类型属性,有以下特性:

■其中可以存放什么类型的值。

■值要占据多少空间,以及该值是否是定长的(所有值占相同数量的空间)或(所占空间量依赖于所存储的值)

■该类型的值怎样比较和存储。

■此类型是否允许NULL值。

■此类型是否可以索引。

数字

•日期和时间

字符串(字符)

列类型的属性

有以下四种:

Default

NotNull或Null

PrimaryKey即主键

Auto_increment(只有1个只能被索引)一、数据库的操作

丨操作系统下的操作

mysql-h-u-p

mysql-hlocalhost-uroot

创建数据库

删除数据库

显示数据库

使用数据库

数据库其他相关操作

1、创建数据库

CREATEDATABASEdb_Name;

2、删除数据库

DROPDATABASEdb_Name;

说明:

可以简写为:

dropdb_name;

3、显示数据库

SHOWdatabases;

显示当前有哪些数据库。

4、使用数据库

USEdatabase;

5、显示数据库中有哪些表

首先USEdatabase;

然后SHOWtables;

参见:

show的用法

二、表格、索引的操作

创建表格

更改表格

建立索引

删除表格、索引

表格其他相关操作

以下操作都是以表格table_name或索引为操作单位。

DESCRIBE或DESC命令除外。

文件用途

tbl_name.frm表定义(form)文件

tbl_name.MYD数据文件

tbl_name.MYI索引文件

1、创建表格:

CREATETABLEtable_name

column1DATATYPE[NOTNULL][NOTNULL

PRIMARYKEY],

column2DATATYPE[NOTNULL],

...)

NotNull--不允许资料有空的PRIMARYKEY--是本表的主键。

可以通过一个表的内容来拷贝一个表,如

CREATE[TEMPORARY]TABLEnew_tbl_name

SELECT*FROMold_tbl_name;

SELECT*FROMold_tbl_namewhere1=0;

(只是拷

贝空表)

2、更改表格

ALTERTABLEtbl_nameADDCOLUMNcol_nameDATATYPE

增加一个栏位即(字段)(没有删除某个栏位的语法)。

ALTERTABLEtbl_nameRENAMEASnew_name;

说明:

对表重命名。

ALTERTABLEtable_namedropcolumn_name说明:

删除指定的列名。

ALTERTABLEtbl_nameCHANGEold_column_namenew_column_nameDATATYPE说明:

更改列名及列属性。

例:

ALTERTABLEtbl_nameCHANGEold_column_namenew_column_nameint

(2)notnullprimarykey;

ALTERTABLEtable_nameADDPRIMARYKEY(column_name)说明:

更改表得的定义把某个栏位设为主键。

ALTERTABLEtable_nameDROPPRIMARYKEY(column_name)

把主键的定义删除。

ALTERTABLEmy_tblTYPE=ISAM或

[MYISAM,HELP,lnnoDB……等等]

3、建立索引

CREATEINDEXindex_nameONtable_name(column_name);

CREATEUNIQUEindex_nameONtable_name(column_name);

ALTERTABLEtbl_nameADDINDEXindex_name(column_list);

ALTERTABLEtbl_nameADDUNIQUEindex_name(column_list);

ALTERTABLEtbl_nameADDPRIMARYKEY(column_list);

对某个表格的栏位建立索引以增加查询时的速度。

4、删除表格、索引

DROPtbl_name1,tbl_name2,tbl_name3;

DROPINDEXindex_nameONtbl_name;

ALTERTABLEtbl_nameDROPINDEX

index_name;

ALTERTABLEtbl_nameDROPPrimaryKey;

5、显示表格中列的信息

语法:

{DESCRIBE|DESC}tbl_name[col_name|wild]DESCRIBEtbl_name;

DESCRIBE是SHOWCOLUMNSFROM的缩写。

用于显示表格中列的信息。

DESCRIBEtbl_name;

等于SHOWCOLUMNS

FROMtbl_name;

也可以简写为:

desctal_name;

describevt.描写,记述,形容,形容

三、记录的操作

记录的添加

记录的更改

记录的删除

首先来大概了解一下INSERT的语法,有以下几种方式:

INSERT[INTO]tbl_name

[(col_name,...)]VALUES((expression|

DEFAULT),...),(...),...

[ONDUPLICATEKEYUPDATE

col_name=expression,...]

或者INSERT[INTO]tbl_name

[(col_name,...)]SELECT...

或者INSERT[INTO]tbl_nameSETcol_name=(expression|DEFAULT),...

col_name=expression,...]说明:

我们只关心记录添加的方式啦。

注意啦,现在我们开始啦。

1、记录的添加最简单的一种:

直接添加一行记录就是:

DEFAULT),...),(...),...);

INSERTINTOtbl_name(col1,col2)

VALUES(15,col1*2);

inserttbl_name(col1,col2)

values('

007'

'

xxh5fd'

)第二种:

2、记录的更改

还是先来看一看UPDATE的语法

UPDATEtbl_name[,tbl_name...]SETcol_name1=expr1[,col_name2=expr2...][WHEREwhere_definition]说明:

UPDATE以新的值更新现存表中行的列。

SET子句指出要修改哪个列和他们应该给定的值。

WHERE子句如果被给出,指定哪个记录行应该被更新。

否则,所有的记录行被更新。

如果ORDERBY子句被指定,记录行将被以指定的次序更新。

例子:

UPDATEybcsetid=8whereid=0;

3.记录的删除

简单的语法:

DELETEFROMtable_nameWHEREconditions说明:

删除符合条件的资料。

数据语法:

SHOW语句可用来获取数据库和表的几个方面的信息,它有如下用法:

SHOWDATABASES列出服务器上的数据库

SHOWTABLES列出当前数据库中的表

SHOWTABLESFROMdb_name列出指定数据库中

的表

SHOW[FULL]COLUMNSFROMtbl_name显示指

定表中列的信息,等同于desctbl_name;

SHOWINDEXFROMtbl_name显示指定表中索引的信息

SHOWTABLESTATUS显示缺省数据库中表的说明信息

SHOWTABLESTATUSFROMdb_name显示指定

数据库中表的说明信息

DESCRIBEtbl_name和EXPLAINtbl_name语句与

SHOWCOLUMNSFROMtbl_name功能相同。

SELECT的使用及语法详解

作用说明:

SELECT用于检索从一个或多个表中选取出的行。

select_expression表示你希望检索的列。

SELECT也可以被用于检索没有引用任何表的计算列。

要讲的内容是:

第一个查询

选择特定的列,对列进行排序

查找不重复的数据

创建虚拟列,及列的别名的使用

按条件检索

好,现在开始我们的第一个查询啦!

SELECT*Fromtbl_name;

组合查询

组合查询是指所查询得资料来源并不只有单一的表格,

而是联合一个以上的

表格才能够得到结果的。

SELECT*

FROMtable1,table2

WHEREtable1.colum1=table2.column1

1.查询两个表格中其中column1值相同的资料。

2.当然两个表格相互比较的栏位,其资料形态必须相

同。

3.一个复杂的查询其动用到的表格可能会很多个。

整合性的查询:

SELECTCOUNT(*)

FROMtable_name

WHEREcolumn_name=xxx

查询符合条件的资料共有几笔。

SELECTSUM(column1)

1.计算出总和,所选的栏位必须是可数的数字形态。

2.除此以外还有AVG()是计算平均、MAX()、MIN()计算最大最小值的整合性查询。

SELECTcolumn1,AVG(column2)

GROUPBYcolumn1

HAVINGAVG(column2)>

xxx

1.GROUPBY:

以column1为一组计算column2的平均值必须和AVG、SUM等整合性查询的关键字一起使用。

2.HAVING:

必须和GROUPBY一起使用作为整合性的限制。

复合性的查询

FROMtable_name1

WHEREEXISTS(

FROMtable_name2

WHEREconditions)

1.WHERE的conditions可以是另外一个的query。

2.EXISTS在此是指存在与否。

WHEREcolumn1IN(

SELECTcolumn1

1.IN後面接的是一个集合,表示column1存在集合里面。

2.SELECT出来的资料形态必须符合column1。

其他查询

WHEREcolumn

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试认证 > 交规考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2