MySQL数据库课件Word文件下载.docx
- 文档编号:18431726
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:64
- 大小:2.21MB
MySQL数据库课件Word文件下载.docx
《MySQL数据库课件Word文件下载.docx》由会员分享,可在线阅读,更多相关《MySQL数据库课件Word文件下载.docx(64页珍藏版)》请在冰豆网上搜索。
使用索引可快速访问数据库表中的特定信息。
索引就是对数据库表中一列或多列的值进行排序的一种结构。
类似于书籍的目录。
∙参照完整性:
参照的完整性要求关系中不允许引用不存在的实体。
与实体完整性就是关系模型必须满足的完整性约束条件,目的就是保证数据的一致性。
MySQL数据库
MySQL就是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
MySQL就是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不就是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
∙MySQL就是开源的,所以您不需要支付额外的费用。
∙MySQL支持大型的数据库。
可以处理拥有上千万条记录的大型数据库。
∙MySQL使用标准的SQL数据语言形式。
∙MySQL可以允许于多个系统上,并且支持多种语言。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby与TCL等。
∙MySQL对PHP有很好的支持,PHP就是目前最流行的Web开发语言。
∙MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
∙MySQL就是可以定制的,采用了GPL协议,您可以修改源码来开发自己的MySQL系统。
第2章MySQL数据库的安装与配置
1.所需MySQL安装包
mysql-5、0、41_Setup、EXE
2.安装方法步骤图解
1>
运行安装程序下一步
2.选择“Custom”自定义安装,下一步
3.这里可以将不需要的安装删除,可以更改安装目录,下一步
4.单击“Install”按钮,开始安装
5.安装中,耐心等一会儿
6、这里就是询问您就是否要注册一个MySQL、com的账号,或就是使用已有的账号登陆MySQL、com,一般不需要了,点选“SkipSign-Up”,按“Next”略过此步骤。
7、安装完成出现如下界面现在软件安装完成了,出现上面的界面,这里有一个很好的功能,MySQL配置向导,不用向以前一样,自己手动乱七八糟的配置my、INI了,将“ConfiguretheMySQLServernow”前面的勾打上,点“Finish”结束软件的安装并启动MySQL配置向导。
8.进入配置过程
9.选择配置方式选择配置方式,“DetailedConfiguration(手动精确配置)”、“StandardConfiguration(标准配置)”,我们选择“DetailedConfiguration”,方便熟悉配置过程。
10、选择服务器类型,“DeveloperMachine(开发测试类,MySQL占用很少资源)”、“ServerMachine(服务器类型,MySQL占用较多资源)”、“DedicatedMySQLServerMachine(专门的数据库服务器,MySQL占用所有可用资源)”,大家根据自己的类型选择了,一般选“ServerMachine”,不会太少,也不会占满。
11.选择MySQL数据库的大致用途,“MULTIfunctionalDatabase(通用多功能型,好)”、“TranSacTIONALDatabaseOnly(服务器类型,专注于事务处理,一般)”、“Non-TranSacTIONALDatabaseOnly(非事务处理型,较简单,主要做一些监控、记数用,对MYLSAM数据类型的支持仅限于Non-TranSacTIONAL),随自己的用途而选择了,我这里选择“TranSacTIONALDatabaseOnly”,按“Next”继续。
12.对INNODBTablespace进行配置,就就是为INNODB数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。
我这里没有修改,使用用默认位置,直接按“Next”继续
13.选择您的网站的一般MySQL访问量,同时连接的数目,“DecisionSupport(DSS)/OLAP(20个左右)”、“OnlineTransactionProcessing(OLTP)(500个左右)”、“ManualSetting(手动设置,自己输一个数)”,我这里选“OnlineTransactionProcessing(OLTP)”,自己的服务器,应该够用了,按“Next”继续
14.就是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问MySQL数据库了,我这里启用,把前面的勾打上,PortNumber:
3306,在这个页面上,您还可以选择“启用标准模式”(EnableStrictMode),这样MySQL就不会允许细小的语法错误。
如果您还就是个新手,我建议您取消标准模式以减少麻烦。
但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。
按“Next”继续
15.这个比较重要,就就是对MySQL默认数据库语言编码进行设置,第一个就是西文编码,第二个就是多字节的通用utf8编码,都不就是我们通用的编码,这里选择第三个,然后在CharacterSet那里选择或填入“GBK”,当然也可以用“gb2312”,区别就就是GBK的字库容量大,包括了gb2312的所有汉字,并且加上了繁体字、与其它乱七八糟的字——使用MySQL的时候,在执行数据操作命令之前运行一次“SETNAMESGBK;
”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。
按“Next”继续。
16.选择就是否将MySQL安装为windows服务,还可以指定ServiceName(服务标识名称),就是否将MySQL的bin目录加入到WindowsPATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“MySQL、EXE-UUSERName-PPASSword;
”就可以了,不用指出MySQL、EXE的完整地址,很方便),我这里全部打上了勾,ServiceName不变。
按“Next”
17这一步询问就是否要修改默认root用户(超级管理)的密码(默认为空),“Newrootpassword”如果要修改,就在此填入新密码(如果就是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“ModifySecuritySettings”前面的勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,防止输错。
“Enablerootaccessfromremotemachines(就是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。
最后“CreateAnAnonymousAccount(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续。
18、确认设置无误,如果有误,按“Back”返回检查。
按“Execute”使设置生效。
19.设置完毕,按“Finish”结束MySQL的安装与配置——这里有一个比较常见的错误,就就是不能“Startservice”,一般出现在以前有安装MySQL的服务器上,解决的办法,先保证以前安装的MySQL服务器彻底卸载掉了;
不行的话,检查就是否按上面一步所说,之前的密码就是否有修改,照上面的操作;
如果依然不行,将MySQL安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的data文件夹删除,备份的data文件夹移回来,再重启MySQL服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。
安装路径不要带有中文!
也不能有空格括号之类的,否则就会遇到下图显示的错误
到此我们的MySQL安装配置完成,我们需要测试MySQL就是否真的安装配置成功。
在我们的CMD命令行下输入netstartMySQL
瞧就是否能启动服务;
使用工具NAVIcatLiteforMySQL
瞧就是否能够链接到MySQL数据库
第3章数据库与表的操作
1.SQL语句分类
DQL(DataQueryLanguage,数据查询语言)
——查询数据库中的数据
——SELECT
DML(DataManipulationLanguage,数据操作语言)
——插入、删除与修改数据库中的数据;
——INSERT、UPDATE、DELETE等;
DCL(DataControlLanguage,数据控制语言)
——用来控制存取许可、存取权限等;
——GRANT、REVOKE等;
DDL(DataDefinitionLanguage,数据定义语言)
——用来建立数据库、数据库对象与定义其列
——CREATE、DROP等
事务控制语言(TranSacTIONALControlLanguage,TCL)
——COMMIT、ROLLBACK
2.SQL语句书写规则
书写SQL语句应遵循以下规则:
SQL语句不区分大小写
字符值与日期值区分大小写
SQL语句可以写成一行或多行
关键字不能简写或分割于多行
子句通常置于单独行这样更具可读性并便于编辑
Tab与缩进的使用可以提高程序的可读性
关键字最好大写,其她词诸如表名、列名使用小写
3.SQL中的注释:
SQL标准:
多行注释:
/**/。
单行注释:
--
MySQL:
“#”
4.数据库对象的命名规则
必须以字母开头
可包括数字与三个特殊字符(#_$)
不要使用MySQL的保留字(保留字与关键字MySQL数据库系统的用户只能使用,不能用它来定义表的名称与字段名)
同一Schema下的对象不能同名
5.列类型
MySQL支持多种列类型:
数值类型、日期/时间类型、字符串(字符)类型
MySQL中的数值数据类型:
数值数据类型-整数
数值数据类型-浮点数
日期/时间类型
字符串类型
数据库的操作
查瞧数据库:
showdatabases;
创建数据库:
createdatabase[ifnotexists]数据库名;
删除数据库:
dropdatabase数据库名;
使用数据库use数据库名
表的操作
显示当前数据库中已有的数据表的信息:
showtables;
查瞧数据表中各列的信息:
{DESCRIBE|DESC}表名[列名];
查瞧表的详细结构:
showcreatetable表名\G;
备注:
如果不加”\G”参数,显示的结果可能非常混乱;
加上该参数可以使结果更加直观,易于查瞧。
创建表:
CREATETABLE表名(
列名列类型,
列名列类型
);
删除表:
DROPTABLE表名
修改表结构:
增加列
ALTERTABLE表名ADD列名列类型;
修改列类型
ALTERTABLE表名MODIFY列名列类型;
列改名
ALTERTABLE表名CHANGE旧列名新列名列类型;
删除列
ALTERTABLE表名DROP列名;
更改表名
ALTERTABLE表名RENAME新表名;
RENAMETABLE表名TO新表名;
支持一次重命名多个表。
RENAMETABLEold_table1TOtmp_table,
new_tableTOold_table,
tmp_tableTOnew_table;
表的约束:
约束
约束用于确保数据库数据满足特定的商业规则。
约束就是表级的强制规定,约束可分为列级、表级约束两种:
列级约束就是字段定义的一部分,只能应用在一个列上
表级约束就是独立于列的定义
定义约束的关键字constraint。
大部分数据库都支持以下五种约束:
NOTNULL(非空)
如果在列上定义了notnull,那么当插入数据时,必须为列提供数据。
notnull约束只能定义在列级;
UNIQUE(唯一):
当定义了唯一约束后,该列值不能就是重复的,但就是可以为null。
被定义的唯一性约束,会自动建立一个唯一性的索引;
UNIQUE约束既可以定义在列级,也可以定义在表级;
注意:
如果字段定义为UNIQUE约束时,允许包含多个NULL值。
PRIMARYKEY(主键)
用于唯一的标识表行的数据,当定义主键约束后,该列不但不能重复而且不能为null。
需要说明的就是:
一张表最多只能有一个主键,但就是可以有多个unique约束。
MySQL中会自动产生主键索引;
主键约束既可以定义在列级,也可以定义在表级;
FOREIGNKEY(外键)
用于定义主表与从表之间的关系。
外键约束要定义在从表上,主表则必须具有主键约束或就是unique约束,当定义外键约束后,要求外键列数据必须在主表的主键列存在或就是为null。
一个表中可以定义多个外键约束;
MySQL中会自动产生外键键索引;
外键约束既可以定义在列级,也可以定义在表级;
CHECK(检查)
检查性约束,检查输入的每一个数据,只有符合条件的数据才允许插入到表中。
check表达式的结果必须就是一个布尔值
check约束既可以定义在列级也可以定义在表级。
所有的存储引擎均对CHECK子句进行分析,但就是忽略CHECK子句。
添加约束
可增加或删除约束,但不能直接修改;
可使约束启用与禁用
只要就是可以使用表级约束语法来定义的约束,都可以通过addconstraint来增加该约束。
语法:
ALTERTABLEtable
ADD[CONSTRAINTconstraint_name]type(column);
非空约束必须使用MODIFY子句增加
ALTERTABLEtableMODIFYcolumntypenotnull;
添加约束示例
给学生表添加约束:
1、将sid设为主键
altertablestuaddconstraintpk_sidprimarykey(sid);
2、为sname添加唯一约束
altertablestuaddconstraintuq_snameunique(sname);
3、性别默认为男
altertablestumodifysexchar
(2)default'
男'
;
注意:
默认值不就是约束,要加默认值可以在建表时添加或修改表结构。
4、性别为非空
altertablestumodifysexchar
(2)notnull;
5、给classId添加外键
altertablestuaddconstraintfk_classIdforeignkey(classId)referencesclasses(classId);
删除定义的约束
删除约束示例:
删除主键约束
altertablestudropprimarykey;
如果主键列有自增长列,必须先删除自增长,再删除主键:
altertablestuchangetnotnoint(11);
删除notnull约束
altertablestumodifysexchar
(2);
删除唯一约束
altertablestudropindexuq_tname;
删除外键约束
altertablestudropforeignkeyfk_stu_sc;
表级约束与列级约束
列级定义:
就是在定义列的同时定义约束
如在classes表定义主键约束:
createtableclasses(
classIdnumber
(2)[constraintpk_cid]primarykey,--给约束取名字
cnamevarchar2(12)
表级定义:
就是指在定义了所有列后,再定义约束。
注意:
notnull约束只能在列级上定义。
以建立stu表时定义主键约束与外键约束为例:
creattablestu(
sidnumber(4),snamevarchar2(20),classidnumber
(2),
constraintpk_sidprimarykey(sid),
constraintuq_snameunique(sname)
);
自动增长与默认值
作业:
school
在其中创建表:
stu,course,sc
添加相应的约束信息。
第4章数据更新操作
1课程学习目标:
数据的增加
数据的修改
数据的删除
2.插入数据INSERT
INSERT语句用于完成各种向数据表中插入数据的功能,可以对列赋值一次插入一条记录,也可以根据select查询子句获得的结果记录集批量插入指定数据表。
语法格式:
1、所有字段都插入:
INSERTINTO表名VALUES(value1,value2,value3、、、);
2、插入部分字段:
INSERTINTO表名(column1,column2,column3,、、、)
VALUES(value1,value2,value3,、、、);
插入空值可以用null,默认值用default。
2>
可以使用last_insert_id()函数获取上一条insert命令生成的auto_increment值。
这就是一个面向连接的函数,只对本次会话有效。
插入数据时的注意事项:
注意事项1:
每次插入一行数据,不可能只插入半行或者几列数据,因此,插入的数据就是否有效将按照整行的完整性的要求来检验;
注意事项2:
每个数据值的数据类型、精度与小数位数必须与相应的列匹配;
注意事项3:
如果在设计表的时候就指定了某列不允许为空,则必须插入数据;
注意事项4:
插入的数据项,要求符合检查约束的要求
注意事项5:
具有缺省值的列,可以使用DEFAULT(缺省)关键字来代替插入的数值;
允许为空值的列,可以使用NULL关键字来插入空值。
修改数据UPDATE
UPDATE语句用于修改表中一列或多列的值,使用where子句限制修改的行。
UPDATE表名SETcolumn1=value1,column2=value2,、、、
[WHERE条件];
删除数据DELETE
DELETE语句向用户提供了删除数据的功能,同UPDATE语句一样限定表中哪些行将被删除。
DELETEFROM表名[WHERE条件];
TRUNCATETABLE表名;
二者关系:
TRUNCATETABLE在功能上与不带WHERE子句的DELETE语句相同,二者均删除表中的全部行。
但TRUNCATETABLE速度快,但不可以回滚;
DELETE速度慢,但可以回滚。
第五章数据库查询
查询基本语法(单表查询):
SELECT<
列名>
FROM<
表名>
[WHERE<
查询条件表达式>
]
[ORDERBY<
排序的列名>
[ASC或DESC]]
查询全部的行与列
select*fromstu;
查询部分的列:
selectsid,sname,sex,agefromstu;
查询满足条件的行的部分列:
selectsid,sname,sexfromstuwhereage=20;
SQL操作符
算术运算符:
+-*/%
如:
selectsal*12fromemp;
关系运算符:
>
<
>
=<
==!
=或<
=>
between,in,like,isnull,
字符类型不区分大小写,binary类型区分大小写;
如果字符串的后面有空白符,则会自动忽略。
逻辑运算符:
andornot,&
&
||,!
基本查询
怎样消除重复行:
selectdistinctdeptno,jobfromemp;
使用别名:
格式:
列名别名或列名as别名
selectempno,sal*12“年工资”fromemp;
或selectempno,sal*12as“年工资”fromemp;
1、如果别名中使用特殊字符,或者就是强制大小写敏感,或有空格时,都可以通过为别名添加加双引号实现。
2、where子句中不能使用别名。
null值:
空值就是指不可用、未分配的值
空值不等于零或空格
任意类型都可以支持空值
包括空值的任何算术表达式都等于空
字符串与null进行连接运算,得到也就是null、
如何查询null值:
使用isnull
select*fromempwherecommisnull;
select*fromempwherecommisnotn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MySQL 数据库 课件