网站设计与建设-MySQL数据库 课件_第1页
网站设计与建设-MySQL数据库 课件_第2页
网站设计与建设-MySQL数据库 课件_第3页
网站设计与建设-MySQL数据库 课件_第4页
网站设计与建设-MySQL数据库 课件_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第2020章章 MySQLMySQL数据库数据库u介绍数据库系统与介绍数据库系统与MySQLMySQLu登入登入MySQLMySQL数据库系统的过程数据库系统的过程u介绍介绍“数据库数据库”操作操作u介绍介绍“表表”的操作的操作uMySQLMySQL的用户管理的用户管理uMySQLMySQL数据备份数据备份20.1 MySQL概述MySQLMySQL关系数据库管理系统关系数据库管理系统MySQLMySQL是一种开放源码软件是一种开放源码软件具有快速、可靠和易于使用具有快速、可靠和易于使用结构化查询语言:结构化查询语言:SQLSQLWebWeb中小型数据库的首选中小型数据库的首选20.2 My

2、SQL20.2 MySQL的工作原理的工作原理 C/SC/S结构结构 用户终端 数据库系统 mysql 网络 mysqld 20.3 MySQL启动与退出u建立到建立到MySQLMySQL服务器的连接服务器的连接格式:格式:mysql -h host_name -u user_namemysql -h host_name -u user_name -pyour_password -pyour_password-p-p和和your_passwordyour_password中间没有空格中间没有空格u断开到断开到MySQLMySQL服务器的连接服务器的连接 mysql exitmysql exit

3、mysql quitmysql quit口令管理口令管理uMySQLMySQL的用户配置信息:的用户配置信息:c:fc:f20.5 数据库操作u查看数据库查看数据库4SHOW DATABASES;SHOW DATABASES;4SELECT database();SELECT database();u创建数据库创建数据库4CREATE DATABASE CREATE DATABASE 数据库名数据库名; ;u删除数据库删除数据库4DROP DATABASE IF EXISTS DROP DATABASE IF EXISTS 数据库名数据库名; ;u打开数据库打开数据库4USE USE 数据库名

4、数据库名; ;普通高等教育“十一五”国家级规划教材重点大学计算机专业系列教材山东大学计算机科学与技术学院 网 站 设 计 与 建 设 u9 9、 人的价值,在招收诱惑的一瞬间被决定。人的价值,在招收诱惑的一瞬间被决定。2022-3-142022-3-142022-3-142022-3-14Monday, March 14, 2022Monday, March 14, 2022u1010、低头要有勇气,抬头要有低气。、低头要有勇气,抬头要有低气。2022-3-142022-3-142022-3-142022-3-142022-3-142022-3-143/14/2022 10:38:54 PM3

5、/14/2022 10:38:54 PMu1111、人总是珍惜为得到。、人总是珍惜为得到。2022-3-142022-3-142022-3-142022-3-142022-3-142022-3-14Mar-22Mar-2214-Mar-2214-Mar-22u1212、人乱于心,不宽余请。、人乱于心,不宽余请。2022-3-142022-3-142022-3-142022-3-142022-3-142022-3-14Monday, March 14, 2022Monday, March 14, 2022u1313、生气是拿别人做错的事来惩罚自己。、生气是拿别人做错的事来惩罚自己。2022-3-

6、142022-3-142022-3-142022-3-142022-3-142022-3-142022-3-142022-3-143/14/20223/14/2022u1414、抱最大的希望,作最大的努力。、抱最大的希望,作最大的努力。20222022年年3 3月月1414日星期一日星期一2022-3-142022-3-142022-3-142022-3-142022-3-142022-3-14u1515、一个人炫耀什么,说明他内心缺少什么。、一个人炫耀什么,说明他内心缺少什么。20222022年年3 3月月2022-3-142022-3-142022-3-142022-3-142022-3-

7、142022-3-143/14/20223/14/2022u1616、业余生活要有意义,不要越轨。、业余生活要有意义,不要越轨。2022-3-142022-3-142022-3-142022-3-14March 14, 2022March 14, 2022u1717、一个人即使已登上顶峰,也仍要自强不息。、一个人即使已登上顶峰,也仍要自强不息。2022-3-142022-3-142022-3-142022-3-142022-3-142022-3-142022-3-142022-3-1420.7 “表”操作u查看表查看表4SHOW SHOW TABLETABLES;S;u创建表创建表u显示表的结

8、构显示表的结构u修改表的结构修改表的结构u删除表删除表格式:格式:mysqlCREATE TEMPORARY TABLE mysqlCREATE TEMPORARY TABLE IF NOT EXISTS IF NOT EXISTS 表名表名 字段定义,字段定义, 表选项表选项 查询语句查询语句;MysqlMysql调用文件调用文件* *.sql.sql“表表”操作操作创建表创建表返回返回格式:格式:mysqlDESCRIBE mysqlDESCRIBE 表名表名; ;mysqlDESC mysqlDESC 表名表名; ;MysqlSHOW COLUMNS FROM MysqlSHOW COL

9、UMNS FROM 表名表名; ;“表表”操作操作显示表的结构显示表的结构返回返回u更改表名更改表名u更改字段名更改字段名u更改字段类型更改字段类型u增加一个字段增加一个字段u删除一个字段删除一个字段u转换表的类型转换表的类型“表表”操作操作修改表的结构修改表的结构返回返回格式:格式: ALTER TABLE ALTER TABLE 原表名原表名 RENAME as RENAME as 新表名新表名; ;“表表”操作操作修改表的结构:更改表名修改表的结构:更改表名返回返回格式:格式: ALTER TABLE ALTER TABLE 表名表名 CHANGE CHANGE 原字段名原字段名 新字段

10、名新字段名 原字段定义原字段定义; ;“表表”操作操作修改表的结构:更改字段名修改表的结构:更改字段名返回返回格式:格式: ALTER TABLE ALTER TABLE 表名表名 CHANGE CHANGE 字段名字段名 字段名字段名 字段新类型字段新类型; ;ALTER TABLE ALTER TABLE 表名表名 MODIFY MODIFY 字段名字段名 字段新类型字段新类型; ;“表表”操作操作修改表的结构:更改字段类型修改表的结构:更改字段类型返回返回ISAM ISAM 在在MySQL3.23MySQL3.23以前版本支持以前版本支持MYISAM MYISAM 是是MySQL3.23

11、MySQL3.23以后版本的默认以后版本的默认“表表”类型。类型。HEAP “HEAP “临时临时”内存表内存表格式:格式:sqlALTER TABLE sqlALTER TABLE 表名表名 TYPE=TYPE=表表新类型新类型; ;“表表”操作操作修改表的结构:转换表的类型修改表的结构:转换表的类型返回返回格式:格式:sqlALTER TABLE sqlALTER TABLE 表名表名 ADD ADD 字段名字段名 类型;类型;“表表”操作操作修改表的结构:增加字段修改表的结构:增加字段返回返回格式:格式: sqlALTER TABLE sqlALTER TABLE 表名表名 DROP C

12、OLUMN DROP COLUMN 字段名;字段名;返回返回格式:格式: sqlDROP TABLE sqlDROP TABLE IF EXISTS IF EXISTS 表名表名1 1, 表名表名2 2 返回返回“表表”操作操作删除删除“表表”u增加记录增加记录u查询记录查询记录u排序记录排序记录u修改纪录修改纪录u删除记录删除记录20.8 “记录”操作23格式格式1 1:对所有字段赋值:对所有字段赋值, ,可插入多条记录可插入多条记录 sqlinsert into sqlinsert into 表名表名 values (values (值值1 1,值,值2 2,), ), ( (值值1 1,

13、值,值2 2,),;),;“记录记录”操作操作增加记录增加记录格式格式2 2:仅对某些字段赋值,可插入多条记录:仅对某些字段赋值,可插入多条记录 sqlinsert into sqlinsert into 表名表名 ( (字段字段1,1,字段字段2,2,) ) values (values (值值1,1,值值2,2,),values (),values (值值1,1,值值2,2,),),; ;“记录记录”操作操作增加记录(续增加记录(续1 1)格式格式3 3:仅对某些字段赋值:仅对某些字段赋值 sqlinsert into sqlinsert into 表名表名 set set 字段字段1=1

14、=值值1,set 1,set 字段字段2=2=值值2,2,; ;返回返回“记录记录”操作操作增加记录(续增加记录(续2 2)格式:格式:sqlselect sqlselect 字段字段 from from 表表1 1,表,表2 2, where where 条件条件 order by order by 排序字段排序字段 group by group by 分组字段分组字段 limit limit 待显示的记录数待显示的记录数“记录记录”操作操作查询记录查询记录格式:格式:sqlselect sqlselect 字段字段 from from 表表1 1,表,表2 2, where where 条

15、件条件 order by order by 排序字段排序字段 group by group by 分组字段分组字段 limit limit 待显示的记录数待显示的记录数 例例1 1:sqlselect sqlselect * * from cs_students; from cs_students;“记录记录”操作操作查询记录(续查询记录(续1 1)例例2 2:sqlselect 2sqlselect 2* *4,now(),version();4,now(),version();“记录记录”操作操作查询记录(续查询记录(续2 2)例例3 3:sqlselect id,name,sex fro

16、m cs_students;sqlselect id,name,sex from cs_students;“记录记录”操作操作查询记录(续查询记录(续3 3)例例4 4:sqlselect id as sqlselect id as 学号学号,name as ,name as 姓姓名名, sex as , sex as 性别性别 from cs_students;from cs_students;“记录记录”操作操作查询记录(续查询记录(续4 4)例例5 5:sqlselect id as sqlselect id as 学号学号,name as ,name as 姓姓名名, from cs_

17、students where sex=, from cs_students where sex=女女; ;“记录记录”操作操作查询记录(续查询记录(续5 5)例例6 6:sqlselect id as sqlselect id as 学号学号,name as ,name as 姓姓名名, from cs_students where sex=, from cs_students where sex=女女 and and cs_name like cs_name like 李李% %; ;“记录记录”操作操作查询记录(续查询记录(续6 6)返回返回例:例: sqlselect id, sqlse

18、lect id, name, sex name, sex from cs_students from cs_students order by id; order by id; sqlselect id, sqlselect id, name, sex name, sex from cs_students from cs_students order by id order by id descdesc; ;“记录记录”操作操作- -排序记录排序记录返回返回例:例: sqlupdate students sqlupdate students set id=201003 set id=20100

19、3 where id=202003; where id=202003; “记录记录”操作操作- -修改记录修改记录返回返回例:例: sqldelete from students sqldelete from students where name=“ where name=“李娜李娜” ” and sex=“ and sex=“女女”; ; “记录记录”操作操作- -删除记录删除记录返回返回20.9 “索引”操作uPrimary Key Primary Key 索引索引4一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主

20、键索引主键索引uUnique Unique 索引索引4索引列的值必须唯一,但允许有空值。索引列的值必须唯一,但允许有空值。u普通索引普通索引4这是最基本的索引,它没有任何限制这是最基本的索引,它没有任何限制格式格式1 1:sqlALTER TABLE sqlALTER TABLE 表名表名 ADD ADD INDEXINDEX 索引名称索引名称( (字段列表字段列表) )格式格式2 2:sqlALTER TABLE sqlALTER TABLE 表名表名 ADD ADD UNIQUEUNIQUE 索引名称索引名称( (字段列表字段列表) )格式格式3 3:sqlALTER TABLE sqlA

21、LTER TABLE 表名表名 ADD ADD PRIMARY KEY PRIMARY KEY ( (字段列表字段列表) )“索引记录索引记录”- -产生索引产生索引返回返回“索引记录索引记录”- -普通索引实例普通索引实例返回返回格式:格式: sqlALTER TABLE sqlALTER TABLE 表名表名 DROP INDEX DROP INDEX 索引名称索引名称; ; sqlALTER TABLE sqlALTER TABLE 表名表名 DROP UNIQUE DROP UNIQUE 索引名称索引名称; ; sqlALTER TABLE sqlALTER TABLE 表名表名 DR

22、OP PRIMARY KEY;DROP PRIMARY KEY; 或或 sqlDROP INDEX sqlDROP INDEX 索引名称索引名称 ON ON 表名表名; ; “索引记录索引记录”- -删除索引删除索引返回返回202011 11 用户管理用户管理u服务器把权限信息存贮在一个名为服务器把权限信息存贮在一个名为MySQLMySQL的数据库中,该数据库的数据库中,该数据库中有中有user, db, hostuser, db, host,tables_priv, columns_priv, tables_priv, columns_priv, procs_privprocs_priv和和

23、grantgrant表。表。u增加用户增加用户u赋予权限赋予权限u更改口令更改口令u取消权限取消权限u删除用户删除用户增加用户增加用户uCREATE USER CREATE USER 用户名用户名 IDENTIFIED BY PASSWORD IDENTIFIED BY PASSWORD 口令口令u对于创建的账户,对于创建的账户,CREATE USERCREATE USER会在没有权限的会在没有权限的MySQL.userMySQL.user表中表中创建一个新记录创建一个新记录umysqlmysql数据库的数据库的useruser表中。表中。u如果使用了如果使用了PASSWORDPASSWORD

24、关键词,口令必须是经过哈希处理的关键词,口令必须是经过哈希处理的4141位位口令。要用纯文本中指定密码,需忽略口令。要用纯文本中指定密码,需忽略PASSWORDPASSWORD关键词。关键词。赋予权限赋予权限uGRANT GRANT 权限权限 ON ON 表名表名 | | * * | | * *. .* * | | 数据库名数据库名. .* * TO TO userlocalhost | % IDENTIFIED BY PASSWORD userlocalhost | % IDENTIFIED BY PASSWORD passwordpassword;u必须在必须在MySQLdMySQLd正在

25、运行同一台机器上,作为正在运行同一台机器上,作为MySQL rootMySQL root用户连用户连接,接,u并且并且rootroot用户必须对用户必须对MySQLMySQL数据库有数据库有insertinsert权限和权限和reloadreload管理权管理权限。限。u本地帐号:本地帐号:localhost;localhost;远程帐号:远程帐号:% %4注意:必须对注意:必须对user1localhostuser1localhost和和user1%user1%分别发出分别发出GRANTGRANT语句。语句。4localhostlocalhost创建本地账号,只能在运行创建本地账号,只能在运

26、行MySQLMySQL服务器的机器上使用的服务器的机器上使用的账号;账号;4%是创建的远程账号,匹配任何地址,可以在非本地机上使用的账是创建的远程账号,匹配任何地址,可以在非本地机上使用的账号;号;4对于同一个用户名和密码有两种账号,即本地账号和远程账号,这两对于同一个用户名和密码有两种账号,即本地账号和远程账号,这两种账号需要分别创建。种账号需要分别创建。返回返回mysqlGRANT ALL PRIVILEGES ON mysqlGRANT ALL PRIVILEGES ON * *. .* * TO user1localhost TO user1localhost IDENTIFIED B

27、Y pass1 IDENTIFIED BY pass1 WITH GRANT OPTION; WITH GRANT OPTION;mysqlGRANT ALL PRIVILEGES ON mysqlGRANT ALL PRIVILEGES ON * *. .* * TO user1”%” TO user1”%” IDENTIFIED BY pass1 IDENTIFIED BY pass1 WITH GRANT OPTION; WITH GRANT OPTION;mysqlGRANT RELOAD, PROCESS ON mysqlGRANT RELOAD, PROCESS ON * *. .

28、* * TO adminlocalhost; TO adminlocalhost; 权限机制权限机制u服服务务器器把把权权限限信信息息存存贮贮在在一一个个名名为为M My yS SQ QL L的的数数据据库库中中,该该数数据据库库中中有有u us se er r, , d db b, , h ho os st t,t ta ab bl le es s_ _p pr ri iv v, , c co ol lu um mn ns s_ _p pr ri iv v, , p pr ro oc cs s_ _p pr ri iv v和和g gr ra an nt t表表。uM My yS SQ QL

29、L服服务务器器启启动动时时,把把这这些些表表的的内内容容读读入入内内存存中中。u当当执执行行F FL LU US SH H P PR RI IV VI IL LE EG GE ES S语语句句或或者者执执行行一一个个MySQLadmin 的 flush-privileges命令 或或 MySQLadmin 的 reload 命命令令,服服务务器器重重新新把把这这些些表表的的内内容容读读入入内内存存,使使设设置置的的用用户户权权限限立立即即生生效效u权权限限系系统统根根据据内内存存中中的的g gr ra an nt t表表进进行行存存取取控控制制。u直直接接操操作作:uI IN NS SE ER

30、 RT T I IN NT TO O u us se er r V VA AL LU UE ES S( (l lo oc ca al lh ho os st t, ,u us se er r1 1, ,P PA AS SS SW WO OR RD D( (p pa as ss s1 1) ) ); ;权权限限有有:s se el le ec ct t, ,c cr re ea at te e, ,i in ns se er rt t, ,u up pd da at te e, ,d de el le et te e 返回返回删除用户删除用户mysqlDELETE FROM user WHERE

31、 user=mysqlDELETE FROM user WHERE user=“用用户名户名” and host=and host=“主机名主机名”; ;mysqlFLUSH PRIVILEGES;mysqlFLUSH PRIVILEGES;更改口令更改口令mysqladminmysqladmin管理程序管理程序 passwordpassword命令命令 C C: mysqladmin -u user_name password new_password mysqladmin -u user_name password new_passwordu在在mysqlmysql客户监视状态下客户监视状

32、态下 SET PASSWORD SET PASSWORD 命令实现命令实现SET PASSWORD =PASSWORD(“some_password”)SET PASSWORD =PASSWORD(“some_password”)对当前用户进行的。对当前用户进行的。任意一个连接到服务器上的非匿名用户帐号任意一个连接到服务器上的非匿名用户帐号 SET PASSWORD FOR user SET PASSWORD FOR user =PASSWORD(“some_password”)=PASSWORD(“some_password”)对特定用户进行的。对特定用户进行的。具有具有UPDATEUPDA

33、TE权限的用户权限的用户本地帐号:本地帐号:localhost;localhost;远程帐号:远程帐号:% % u这个命令实际上等价于下面命令:这个命令实际上等价于下面命令: mysql UPDATE mysql.user SET mysql UPDATE mysql.user SET Password=PASSWORD(“newp”) Password=PASSWORD(“newp”) WHERE User=“root” AND WHERE User=“root” AND Host=“localhost”; Host=“localhost”;mysql FLUSH PRIVILEGES;my

34、sql FLUSH PRIVILEGES;返回返回取消权限取消权限mysqlREVOKE mysqlREVOKE 权限权限 ON ON 表名或数据库表名或数据库名或名或* *. .* * FROM FROM 用户名用户名”; ;mysqlFLUSH PRIVILEGES;mysqlFLUSH PRIVILEGES;2012 数据备份与恢复u进行进行SQLSQL级别的表备份,可以使用级别的表备份,可以使用SELECT INTO .OUTFILESELECT INTO .OUTFILE或或BACKUP TABLEBACKUP TABLEu使用使用MySQLdumpMySQLdump程序程序4C:m

35、ysqldump u root p library c:library20031212.sqlC:mysqldump u root p library c:library20031212.sql4数据复原:数据复原:MySQL MySQL u u p p 数据库名数据库名 文件名文件名.sql.sql加锁加锁: : 加锁时,释放以前的锁定加锁时,释放以前的锁定LOCK TABLES LOCK TABLES 表名表名 READ|WRITE|LOW_PRIORITYREAD|WRITE|LOW_PRIORITY;解锁:解锁:UNLOCK TABLES UNLOCK TABLES ;“锁锁”操作操作

36、加锁加锁: : 加锁时,释放以前的锁定加锁时,释放以前的锁定LOCK TABLES LOCK TABLES 表名表名 READ|WRITE|LOW_PRIORITYREAD|WRITE|LOW_PRIORITY;解锁:解锁:UNLOCK TABLES UNLOCK TABLES ;“锁锁”操作操作c:mysqlbinMySqlManager.exec:mysqlbinMySqlManager.exe注:须要在数据库图标上按右键选择注:须要在数据库图标上按右键选择“QueryQuery”第第2222章章 小结小结u介绍数据库系统与介绍数据库系统与MySQLMySQLu登入登入MySQLMySQL

37、数据库系统的过程数据库系统的过程u介绍介绍“数据库数据库”操作操作u介绍介绍“表表”的操作的操作uMySQLMySQL的用户管理的用户管理uMySQLMySQL数据备份数据备份第第2222章章 思考问题思考问题endend22.4 MySQL22.4 MySQL的配置文件是什么?在什么位置?的配置文件是什么?在什么位置?22.8 22.8 用户有几种方法修改口令?写出其命用户有几种方法修改口令?写出其命令格式?令格式?22.10 22.10 在创建或删除数据库时,在创建或删除数据库时,IF EXISTSIF EXISTS作用是什么?作用是什么?22.11 MySQL22.11 MySQL数据库的数据库的NULLNULL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论