MySQL基础知识.docx

上传人:b****5 文档编号:4266602 上传时间:2022-11-28 格式:DOCX 页数:14 大小:20.65KB
下载 相关 举报
MySQL基础知识.docx_第1页
第1页 / 共14页
MySQL基础知识.docx_第2页
第2页 / 共14页
MySQL基础知识.docx_第3页
第3页 / 共14页
MySQL基础知识.docx_第4页
第4页 / 共14页
MySQL基础知识.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

MySQL基础知识.docx

《MySQL基础知识.docx》由会员分享,可在线阅读,更多相关《MySQL基础知识.docx(14页珍藏版)》请在冰豆网上搜索。

MySQL基础知识.docx

MySQL基础知识

第一章MySQL基本功能

1.1MySQL数据库操作

1.1.1create

建立数据库

说明

createdatabasedb_name;

eg:

createdatabasemydatabase;

usemydatabase;

建立一个数据库

使用数据库

建立表:

说明:

createtabletable_name(tabledefinitio);

eg:

createtablestudent

idintprimarykey,

namevarchar(10)NOTNULL,

sexint

);

建立一个表

建表常用的字段

说明

1.primarykey

指定该字段为主键

2.unique

指定列不能包含相同字段

3.NOTNULL

指定该字段不能为空

1.1.2use语句

格式

作用

格式:

usedatabase_name;

Eg:

Usemydatabase;

●Use的作用:

指定某个数据库作为当前的数据。

1.1.3insert(添加记录)

向表中添加数据

说明

insertintotable_namevalue(value1,value2,value,…);

eg:

insertintoempvalue(110,”shinesun”,1);

向表中加入数据。

1.1.4alerttable(修改表结构)

代码

ALTERTABLE"table_name"[改变方式]

●加一个栏位:

ADD"栏位1""栏位1资料种类"

ALTERtablecustomeraddGenderchar

(1);

ALTERTABLECustomerADDPRIMARYKEY(SID);

ALTERTABLEORDERSADDFOREIGNKEY(customer_sid)REFERENCESCUSTOMER(sid);

●删去一个栏位:

DROP"栏位1"

ALTERtablecustomerdropGender;

●去掉主键操作

Altertablecustomermodifyidint,dropprimarykey;

●改变栏位名称:

CHANGE"原本栏位名""新栏位名""新栏位名资料种类"

ALTERtablecustomerchangeAddressAddrchar(50);

●改变栏位的资料种类:

MODIFY"栏位1""新资料种类"

ALTERtablecustomermodifyAddrchar(30);

1.1.5update(记录的修改)

代码

说明

UPDATE"表格"

SET栏位1=[值1],栏位2=[值2]

WHERE{条件}

eg:

updatemytableid=101wherename=’sys’

●同时修改好几个字段的值。

1.1.6delete和drop(记录、表和数据库)

delete操作

说明

deletefromtable_name(where…);

eg:

deletefromempwheresex=1;

从table中删除部分或全部记录数据。

drop操作

说明

dropdatabasedb_name;

droptabletable_name;

dropcol_name;

eg:

dropdatabasemydatabase;

droptableemp;

dropsex;

将数据库或table或talble的某一列删除掉,包括本身的结构。

TRUNCATE

说明

TRUNCATETABLE"表格名"

TRUNCATETABLEcustomer;

所以,我们如果要清除在SQLCreate那一页建立的顾客表格之内的资料,我们就打入:

1.2MySQL数据基本类型

1.2.1字符串类型

字符串

说明

“hello”

使用“”标识。

其他就是字符。

\0,\n

MySQL中有转义字符

char

varchar

TEXT

●声明固定长度

●1----255

●空格补齐

●长度可变

●1-----255

●最后的空格自动删去

●长度1---2^16

●弥补char和varchar的字符限制。

这个一般是够用了。

当然还有更大的。

1.2.2数值类型

数值

说明:

select3.14,3.14e-10,3.14e+10,3.14e+3,0x31;

MySQL支持两种数值型:

整数和浮点数。

MySQL中的十六进制必须使用0x,而不是0X,要注意。

int4字节

double8字节

float4字节

1.2.3null类型

null类型

说明:

select4+null,4;

●null和“”并不是一个东西,这个要注意。

●任何数值和null比较后返回都是false。

●任何表达式有null返回都是null。

1.2.4用户变量

代码

说明:

1.创建用户变量的定义

set@myvar1=7,@myvar2=8;

2.显示用户变量

select@myvar1,@myvar2;

●MySQL中支持的用户变量.

●用户变量一般生存周期是

1.2.5日期类型

类型

说明

datetime

‘0000-00-0000:

00:

00’(常用)

data

‘0000-00-00’

timestamp

0000000000000(长度取决于显示器尺寸)

time

’00:

00:

00’

year

0000

例子:

日期类型的赋值:

类似于字符串

insertintostudentvalue(100,”miaoshuai”,1,”2009-9-10”);

1.2.6MySql的表达式

说明

●MySQL中的表达式和运算符是和其他高级语言是类似的,用的时候查一下就可以了。

1.3其他命令:

命令

说明

showdatabases;

显示所有数据库列表。

显示帮助信息。

selectdatabase();

显示当前正在用的database。

showtables【fromdb_name;】

从指定数据库中显示table。

describetable_name;

显示table的详细信息。

showcolumnsfromtable_name;

显示指定table中的详细字段。

第二章select语句详解

2.1单张表select语句

store表格

name

sale

Date

Los

$1500

1999-01-05

San

$250

1999-01-07

Los

$350

1999-01-08

Boston

$750

1999-01-08

2.1.1distinct

代码

说明

selectdistinctnamefromstore;

distinct:

显示列的时候显示不同的列值。

2.1.2AND|OR

代码

说明

selectname

fromstore

wheresale>1000OR(sale<500ANDsale>275)

条件表达式的连接。

2.1.3IN

代码

说明

select*

fromstore

wherenameIN(“los”,“san”);

IN:

修饰前面的字段,将其条件限制在IN后的括号里。

2.1.4between条件一and条件二

代码

说明

select*

fromstore

whereDatebetween“1999-01-05”and“1999-01-7”;

●条件限定在between和and之间。

●这个是闭区间。

2.1.5like

代码

说明

select*

fromstore

wherenamelike“%os%”;

●Like类似与java中正则表达式。

●Like的类型:

'A_Z':

所有以'A'起头,另一个任何值的字原,且以'Z'为结尾的字串。

'ABC%':

所有以'ABC'起头的字串。

'%XYZ':

所有以'XYZ'结尾的字串。

'%AN%':

所有含有'AN'这个套式的字串。

2.1.6orderby

代码

说明

select*

fromstore

wherenamelike%os%

orderbysale;

●orderby用于某个字段进行排序

●asc:

表示升序

●desc:

表示降序

2.1.7函数

代码:

说明

selectsum(sale)

fromstore;

●函数的作用

∙AVG(平均)

∙COUNT(计数)

∙MAX(最大值)

∙MIN(最小值)

∙SUM(总合)

●函数名(“字段名”)

●函数的使用必须要有groupby

2.1.8count

代码:

说明

selectcount(name)

fromstore;

●计算出满足要求的记录个数。

●count(“字段名”)

2.1.9groupby

selectname,sum(sale)

fromstore

groupbyname

●按照字段进行分组,其实就是合并字段相同信息。

●代码含义:

将字段值相同合为一组,并为合并为一组的信息就sum。

●通常groupby的使用是建立在select要显示的字段上,这个才有意义。

2.1.10having

代码:

说明

selectname,sum(sale)

fromstore

groupbynamehavingsum(sale)>1500;

●having是对函数求结果后,限制显示结果条件。

●groupby是需要的。

2.1.11alias

代码:

说明

selectA1.name,sum(sale)”Totle”

fromstoreA1

groupbyA1.name;

●最常用到的别名有两种:

栏位别名及表格别名。

●显示或引用的时候便于理解的“别名”。

2.2两张表select语句

Store表格

store

sale

Date

Los

$1500

1999-01-05

San

$250

1999-01-07

Los

$300

1999-01-08

Boston

$700

1999-01-08

geography表格

region

store

east

Boston

east

New

west

Los

west

San

2.3.1表格连接

代码:

说明

selectA.name,sum(B.sale)”TotleSum”

fromstoreA,geographyB

whereA.name=B.name

groupbyB.region;

●表格的连接就是:

通过两个表格中相同字段下的相同记录,从而将两个表连接起来。

●这种连接是:

笛卡尔连接是4*4=16个记录。

●这种连接的效率是低下的。

●不建议使用

2.3.1外连接

代码:

说明

SELECTA1.store_name,SUM(A2.Sales)SALES

FROMGeorgraphyA1,Store_InformationA2

WHEREA1.store_name=A2.store_name(+)

GROUPBYA1.store_name

●这个是Orecle的外连接。

mySQL

2.3.4subquery

代码:

说明

selectsum(sale)”WESTTOTEL”

fromstore

wherenamein

(selectname

fromgeogrrphy

whereregion=“west”

);

●subquery就是先找出哪些店是在西区的,然后再算出这些店的营业额总共是多少。

2.3.5union

代码:

说明

(selectnamefromstore)

union

(selectnamefromgeography)

●将两个两个select的结果,进行相加。

●相同的结果只显示一次。

2.3.6unionall

代码:

说明

(selectnamefromstore)

unionall

(selectnamefromgeography)

●将两个两个select的结果,进行相加。

●相同的结果仍然可以显示。

2.3.7intersect

代码

说明

(selectnamefromstore)

intersect

(selectnamefromgeography)

●求两个select语句结果中,相同的结果。

2.3.8minus

代码

说明

(selectnamefromstore)

minus

(selectnamefromgeography)

●求第一个select的结果而在第二个select中没有的结果。

2.3.9concat

代码

说明

SELECTregion_name+''+store_name

FROMGeography

WHEREstore_name='Boston';

等价于

SELECTCONCAT(region_name,store_name)FROMGeography

WHEREstore_name='Boston';

●将两个字段记录合成一个记录值。

2.3.10SUBSTR

代码

说明

SELECTSUBSTR(store_name,3)

FROMGeography

WHEREstore_name='LosAngeles';

下标从1开始。

2.3.11tirm

代码

说明

SELECTTRIM('   Sample   ');

●LTRIM(字串):

将所有字串起头的空白移除。

●RTRIM(字串):

将所有字串结尾的空白移除。

●Trim是取出字符串前后的多余的空字符的。

2.4createview

store表格

store_name

sales

Date

Los

$1500

1999-01-05

San

$250

1999-01-07

Los

$300

1999-01-08

Boston

$700

1999-01-08

Geography表格

region

store

East

Boston

East

New

West

Los

West

San

代码

说明

(1)建立一个view

CREATEVIEWV_REGION_SALES

ASSELECTA1.region_nameREGION,SUM(A2.Sales)SALES

FROMGeographyA1,Store_InformationA2

WHEREA1.store_name=A2.store_name

GROUPBYA1.region_name

(2)使用

SELECT*FROMV_REGION_SALES

●view其实就是多个表中抽取出需要的字段,在组成一个新的table。

●这个表是个虚表。

他是建立在表格上的一个框架,本身不具有存储性。

2.5createindex

代码

说明

Createindexindex_nameonstore(name)

●在store的表上以name建立一个名字为index_name的索引。

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

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1