MySQL基础知识.docx
- 文档编号:4266602
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:14
- 大小:20.65KB
MySQL基础知识.docx
《MySQL基础知识.docx》由会员分享,可在线阅读,更多相关《MySQL基础知识.docx(14页珍藏版)》请在冰豆网上搜索。
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的索引。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MySQL 基础知识