资源预览内容
第1页 / 共66页
第2页 / 共66页
第3页 / 共66页
第4页 / 共66页
第5页 / 共66页
第6页 / 共66页
第7页 / 共66页
第8页 / 共66页
第9页 / 共66页
第10页 / 共66页
亲,该文档总共66页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第2020章章 MySQLMySQL数据库数据库u介绍数据库系统与介绍数据库系统与MySQLMySQLu登入登入MySQLMySQL数据库系统的过程数据库系统的过程u介绍介绍“数据库数据库”操作操作u介绍介绍“表表”的操作的操作uMySQLMySQL的用户管理的用户管理uMySQLMySQL数据备份数据备份概概 述述220.1 MySQL概述MySQLMySQL关系数据库管理系统关系数据库管理系统MySQLMySQL是一种开放源码软件是一种开放源码软件具有快速、可靠和易于使用具有快速、可靠和易于使用结构化查询语言:结构化查询语言:SQLSQLWebWeb中小型数据库的首选中小型数据库的首选320.2 MySQL20.2 MySQL的工作原理的工作原理 C/S C/S结构结构420.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中间没有空格中间没有空格567u断开到断开到MySQLMySQL服务器的连接服务器的连接 mysql exitmysql exitmysql quitmysql quit8口令管理口令管理uMySQLMySQL的用户配置信息:的用户配置信息:c:my.cnfc:my.cnf920.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 数据库名数据库名; ;10普通高等教育“十一五”国家级规划教材重点大学计算机专业系列教材山东大学计算机科学与技术学院 网 站 设 计 与 建 设 u9 9、 人的价值,在招收诱惑的一瞬间被决定。人的价值,在招收诱惑的一瞬间被决定。2024/9/252024/9/252024/9/252024/9/25Wednesday, September 25, 2024Wednesday, September 25, 2024u1010、低头要有勇气,抬头要有低气。、低头要有勇气,抬头要有低气。2024/9/252024/9/252024/9/252024/9/252024/9/252024/9/259/25/2024 9:22:24 PM9/25/2024 9:22:24 PMu1111、人总是珍惜为得到。、人总是珍惜为得到。2024/9/252024/9/252024/9/252024/9/252024/9/252024/9/25Sep-24Sep-2425-Sep-2425-Sep-24u1212、人乱于心,不宽余请。、人乱于心,不宽余请。2024/9/252024/9/252024/9/252024/9/252024/9/252024/9/25Wednesday, September 25, 2024Wednesday, September 25, 2024u1313、生气是拿别人做错的事来惩罚自己。、生气是拿别人做错的事来惩罚自己。2024/9/252024/9/252024/9/252024/9/252024/9/252024/9/252024/9/252024/9/259/25/20249/25/2024u1414、抱最大的希望,作最大的努力。、抱最大的希望,作最大的努力。25 25 九月九月 2024 20242024/9/252024/9/252024/9/252024/9/252024/9/252024/9/25u1515、一个人炫耀什么,说明他内心缺少什么。、一个人炫耀什么,说明他内心缺少什么。九月九月 24 242024/9/252024/9/252024/9/252024/9/252024/9/252024/9/259/25/20249/25/2024u1616、业余生活要有意义,不要越轨。、业余生活要有意义,不要越轨。2024/9/252024/9/252024/9/252024/9/2525 September 202425 September 2024u1717、一个人即使已登上顶峰,也仍要自强不息。、一个人即使已登上顶峰,也仍要自强不息。2024/9/252024/9/252024/9/252024/9/252024/9/252024/9/252024/9/252024/9/2520.7 “表”操作u查看表查看表4SHOW SHOW TABLETABLES;S;u创建表创建表u显示表的结构显示表的结构u修改表的结构修改表的结构u删除表删除表12格式:格式:mysqlCREATE TEMPORARY TABLE mysqlCREATE TEMPORARY TABLE IF NOT EXISTS IF NOT EXISTS 表名表名 字段定义,字段定义, 表选项表选项 查询语句查询语句;MysqlMysql调用文件调用文件* *.sql.sql“表表”操作操作创建表创建表返回返回13格式:格式:mysqlDESCRIBE mysqlDESCRIBE 表名表名; ;mysqlDESC mysqlDESC 表名表名; ;MysqlSHOW COLUMNS FROM MysqlSHOW COLUMNS FROM 表名表名; ;“表表”操作操作显示表的结构显示表的结构返回返回14u更改表名更改表名u更改字段名更改字段名u更改字段类型更改字段类型u增加一个字段增加一个字段u删除一个字段删除一个字段u转换表的类型转换表的类型“表表”操作操作修改表的结构修改表的结构返回返回15格式:格式: ALTER TABLE ALTER TABLE 原表名原表名 RENAME as RENAME as 新表名新表名; ;“表表”操作操作修改表的结构:更改表名修改表的结构:更改表名返回返回16格式:格式: ALTER TABLE ALTER TABLE 表名表名 CHANGE CHANGE 原字段名原字段名 新字段名新字段名 原字段定义原字段定义; ;“表表”操作操作修改表的结构:更改字段名修改表的结构:更改字段名返回返回17格式:格式: ALTER TABLE ALTER TABLE 表名表名 CHANGE CHANGE 字段名字段名 字段名字段名 字段新类型字段新类型; ;ALTER TABLE ALTER TABLE 表名表名 MODIFY MODIFY 字段名字段名 字段新类型字段新类型; ;“表表”操作操作修改表的结构:更改字段类型修改表的结构:更改字段类型返回返回18ISAM ISAM 在在MySQL3.23MySQL3.23以前版本支持以前版本支持MYISAM MYISAM 是是MySQL3.23MySQL3.23以后版本的默认以后版本的默认“表表”类型。类型。HEAP “HEAP “临时临时”内存表内存表格式:格式:sqlALTER TABLE sqlALTER TABLE 表名表名 TYPE=TYPE=表表新类型新类型; ;“表表”操作操作修改表的结构:转换表的类型修改表的结构:转换表的类型返回返回19格式:格式:sqlALTER TABLE sqlALTER TABLE 表名表名 ADD ADD 字段名字段名 类型;类型;“表表”操作操作修改表的结构:增加字段修改表的结构:增加字段返回返回20格式:格式: sqlALTER TABLE sqlALTER TABLE 表名表名 DROP COLUMN DROP COLUMN 字段名;字段名;“表表”操作操作修改表的结构:删除字段修改表的结构:删除字段返回返回21格式:格式: sqlDROP TABLE sqlDROP TABLE IF EXISTS IF EXISTS 表名表名1 1, 表名表名2 2 返回返回“表表”操作操作删除删除“表表”22u增加记录增加记录u查询记录查询记录u排序记录排序记录u修改纪录修改纪录u删除记录删除记录20.8 “记录”操作2323格式格式1 1:对所有字段赋值:对所有字段赋值, ,可插入多条记录可插入多条记录 sqlinsert into sqlinsert into 表名表名 values (values (值值1 1,值,值2 2,), (), (值值1 1,值,值2 2,),;),;“记录记录”操作操作增加记录增加记录24格式格式2 2:仅对某些字段赋值,可插入多条记录:仅对某些字段赋值,可插入多条记录 sqlinsert into sqlinsert into 表名表名 ( (字段字段1,1,字段字段2,2,) ) values (values (值值1,1,值值2,2,),values (),values (值值1,1,值值2,2,),),; ;“记录记录”操作操作增加记录(续增加记录(续1 1)25格式格式3 3:仅对某些字段赋值:仅对某些字段赋值 sqlinsert into sqlinsert into 表名表名 set set 字段字段1=1=值值1,set 1,set 字段字段2=2=值值2,2,; ;返回返回“记录记录”操作操作增加记录(续增加记录(续2 2)26格式:格式:sqlselect sqlselect 字段字段 from from 表表1 1,表,表2 2, where where 条件条件 order by order by 排序字段排序字段 group by group by 分组字段分组字段 limit limit 待显示的记录数待显示的记录数“记录记录”操作操作查询记录查询记录27格式:格式:sqlselect sqlselect 字段字段 from from 表表1 1,表,表2 2, where where 条件条件 order by order by 排序字段排序字段 group by group by 分组字段分组字段 limit limit 待显示的记录数待显示的记录数 例例1 1:sqlselect * from cs_students;sqlselect * from cs_students;“记录记录”操作操作查询记录(续查询记录(续1 1)28例例2 2:sqlselect 2*4,now(),version();sqlselect 2*4,now(),version();“记录记录”操作操作查询记录(续查询记录(续2 2)29例例3 3:sqlselect id,name,sex from sqlselect id,name,sex from cs_students;cs_students;“记录记录”操作操作查询记录(续查询记录(续3 3)30例例4 4:sqlselect id as sqlselect id as 学号学号,name as ,name as 姓名姓名, sex as , sex as 性别性别 from cs_students;from cs_students;“记录记录”操作操作查询记录(续查询记录(续4 4)31例例5 5:sqlselect id as sqlselect id as 学号学号,name as ,name as 姓名姓名, from cs_students where sex=, from cs_students where sex=女女; ;“记录记录”操作操作查询记录(续查询记录(续5 5)32例例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)返回返回33例:例: sqlselect id, sqlselect 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; ;“记录记录”操作操作- -排序记录排序记录返回返回34例:例: sqlupdate students sqlupdate students set id=201003 set id=201003 where id=202003; where id=202003; “记录记录”操作操作- -修改记录修改记录返回返回35例:例: sqldelete from students sqldelete from students where name=“ where name=“李娜李娜” ” and sex=“ and sex=“女女”; ; “记录记录”操作操作- -删除记录删除记录返回返回3620.9 “索引”操作uPrimary Key Primary Key 索引索引4一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引主键索引uUnique Unique 索引索引4索引列的值必须唯一,但允许有空值。索引列的值必须唯一,但允许有空值。u普通索引普通索引4这是最基本的索引,它没有任何限制这是最基本的索引,它没有任何限制37格式格式1 1:sqlALTER TABLE sqlALTER TABLE 表名表名 ADD ADD INDEXINDEX 索引名称索引名称( (字段列表字段列表) )格式格式2 2:sqlALTER TABLE sqlALTER TABLE 表名表名 ADD ADD UNIQUEUNIQUE 索引名称索引名称( (字段列表字段列表) )格式格式3 3:sqlALTER TABLE sqlALTER TABLE 表名表名 ADD ADD PRIMARY KEY PRIMARY KEY ( (字段列表字段列表) )“索引记录索引记录”- -产生索引产生索引返回返回38“索引记录索引记录”- -普通索引实例普通索引实例返回返回39格式:格式: sqlALTER TABLE sqlALTER TABLE 表名表名 DROP INDEX DROP INDEX 索引名称索引名称; ; sqlALTER TABLE sqlALTER TABLE 表名表名 DROP UNIQUE DROP UNIQUE 索引名称索引名称; ; sqlALTER TABLE sqlALTER TABLE 表名表名 DROP PRIMARY KEY;DROP PRIMARY KEY; 或或 sqlDROP INDEX sqlDROP INDEX 索引名称索引名称 ON ON 表名表名; ; “索引记录索引记录”- -删除索引删除索引返回返回40202011 11 用户管理用户管理u服务器把权限信息存贮在一个名为服务器把权限信息存贮在一个名为MySQLMySQL的数据库中,该数据库的数据库中,该数据库中有中有user, db, hostuser, db, host,tables_priv, columns_priv, tables_priv, columns_priv, procs_privprocs_priv和和grantgrant表。表。u增加用户增加用户u赋予权限赋予权限u更改口令更改口令u取消权限取消权限u删除用户删除用户41增加用户增加用户uCREATE USER CREATE USER 用户名用户名 IDENTIFIED BY PASSWORD IDENTIFIED BY PASSWORD 口令口令u对于创建的账户,对于创建的账户,CREATE USERCREATE USER会在没有权限的会在没有权限的MySQL.userMySQL.user表中表中创建一个新记录创建一个新记录42umysqlmysql数据库的数据库的useruser表中。表中。u如果使用了如果使用了PASSWORDPASSWORD关键词,口令必须是经过哈希处理的关键词,口令必须是经过哈希处理的4141位位口令。要用纯文本中指定密码,需忽略口令。要用纯文本中指定密码,需忽略PASSWORDPASSWORD关键词。关键词。43赋予权限赋予权限uGRANT GRANT 权限权限 ON ON 表名表名 | * | *.* | | * | *.* | 数据库名数据库名.* TO .* TO userlocalhost | % IDENTIFIED BY PASSWORD userlocalhost | % IDENTIFIED BY PASSWORD passwordpassword;u必须在必须在MySQLdMySQLd正在运行同一台机器上,作为正在运行同一台机器上,作为MySQL rootMySQL root用户连用户连接,接,u并且并且rootroot用户必须对用户必须对MySQLMySQL数据库有数据库有insertinsert权限和权限和reloadreload管理权管理权限。限。u本地帐号:本地帐号:localhost;localhost;远程帐号:远程帐号:% %4注意:必须对注意:必须对user1localhostuser1localhost和和user1%user1%分别发出分别发出GRANTGRANT语句。语句。4localhostlocalhost创建本地账号,只能在运行创建本地账号,只能在运行MySQLMySQL服务器的机器上使用的服务器的机器上使用的账号;账号;4%是创建的远程账号,匹配任何地址,可以在非本地机上使用的账是创建的远程账号,匹配任何地址,可以在非本地机上使用的账号;号;4对于同一个用户名和密码有两种账号,即本地账号和远程账号,这两对于同一个用户名和密码有两种账号,即本地账号和远程账号,这两种账号需要分别创建。种账号需要分别创建。44返回返回mysqlGRANT ALL PRIVILEGES ON *.* mysqlGRANT ALL PRIVILEGES ON *.* TO user1localhost TO user1localhost IDENTIFIED BY 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 *.* TO adminlocalhost; TO adminlocalhost; 45权限机制权限机制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 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 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 46返回返回删除用户删除用户mysqlDELETE FROM user WHERE user=mysqlDELETE FROM user WHERE user=“用户名用户名” and host=and host=“主机名主机名”; ;mysqlFLUSH PRIVILEGES;mysqlFLUSH PRIVILEGES;47更改口令更改口令mysqladminmysqladmin管理程序管理程序 passwordpassword命令命令 C C: mysqladmin -u user_name password new_password mysqladmin -u user_name password new_password48u在在mysqlmysql客户监视状态下客户监视状态下 SET PASSWORD SET PASSWORD 命令实现命令实现SET PASSWORD =PASSWORD(“some_password”)SET PASSWORD =PASSWORD(“some_password”)对当前用户进行的。对当前用户进行的。任意一个连接到服务器上的非匿名用户帐号任意一个连接到服务器上的非匿名用户帐号 49SET PASSWORD FOR user SET PASSWORD FOR user =PASSWORD(“some_password”)=PASSWORD(“some_password”)对特定用户进行的。对特定用户进行的。具有具有UPDATEUPDATE权限的用户权限的用户本地帐号:本地帐号:localhost;localhost;远程帐号:远程帐号:% % 50u这个命令实际上等价于下面命令:这个命令实际上等价于下面命令: 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;mysql FLUSH PRIVILEGES;51返回返回取消权限取消权限mysqlREVOKE mysqlREVOKE 权限权限 ON ON 表名或数据库表名或数据库名或名或* *.* FROM .* FROM 用户名用户名”; ;mysqlFLUSH PRIVILEGES;mysqlFLUSH PRIVILEGES;522012 数据备份与恢复u进行进行SQLSQL级别的表备份,可以使用级别的表备份,可以使用SELECT INTO .OUTFILESELECT INTO .OUTFILE或或BACKUP TABLEBACKUP TABLEu使用使用MySQLdumpMySQLdump程序程序4C:mysqldump u root p library c:library20031212.sqlC:mysqldump u root p library c:library20031212.sql4数据复原:数据复原:MySQL MySQL u u p p 数据库名数据库名 文件名文件名.sql.sql5354加锁加锁: : 加锁时,释放以前的锁定加锁时,释放以前的锁定LOCK TABLES LOCK TABLES 表名表名 READ|WRITE|LOW_PRIORITYREAD|WRITE|LOW_PRIORITY;解锁:解锁:UNLOCK TABLES UNLOCK TABLES ;“锁锁”操作操作55加锁加锁: : 加锁时,释放以前的锁定加锁时,释放以前的锁定LOCK TABLES LOCK TABLES 表名表名 READ|WRITE|LOW_PRIORITYREAD|WRITE|LOW_PRIORITY;解锁:解锁:UNLOCK TABLES UNLOCK TABLES ;“锁锁”操作操作56WinMySQLAdminWinMySQLAdmin图形管理工具图形管理工具5714.WinMySQLAdmin14.WinMySQLAdmin图形管理工具图形管理工具( (续续1)1)5814.WinMySQLAdmin14.WinMySQLAdmin图形管理工具图形管理工具( (续续2)2)5915.MySqlManager15.MySqlManager图形管理工具图形管理工具c:mysqlbinMySqlManager.exec:mysqlbinMySqlManager.exe6015.MySqlManager15.MySqlManager图形管理工具图形管理工具( (续续1)1)61注:须要在数据库图标上按右键选择注:须要在数据库图标上按右键选择“QueryQuery”15.MySqlManager15.MySqlManager图形管理工具图形管理工具( (续续2)2)6215.MySqlManager15.MySqlManager图形管理工具图形管理工具( (续续3)3)63第第2222章章 小结小结u介绍数据库系统与介绍数据库系统与MySQLMySQLu登入登入MySQLMySQL数据库系统的过程数据库系统的过程u介绍介绍“数据库数据库”操作操作u介绍介绍“表表”的操作的操作uMySQLMySQL的用户管理的用户管理uMySQLMySQL数据备份数据备份64第第2222章章 思考问题思考问题endend22.4 MySQL22.4 MySQL的配置文件是什么?在什么位置的配置文件是什么?在什么位置?22.8 22.8 用户有几种方法修改口令?写出其命用户有几种方法修改口令?写出其命令格式?令格式?22.10 22.10 在创建或删除数据库时,在创建或删除数据库时,IF EXISTSIF EXISTS作用是什么?作用是什么?22.11 MySQL22.11 MySQL数据库的数据库的NULLNULL字段类型含义是字段类型含义是什么?什么?uMySQLMySQL账户管理中的账户管理中的“%”%”有什么含义?有什么含义?uMySQLMySQL怎样备份数据?怎样备份数据? 65普通高等教育“十一五”国家级规划教材重点大学计算机专业系列教材山东大学计算机科学与技术学院 网 站 设 计 与 建 设 u9 9、 人的价值,在招收诱惑的一瞬间被决定。人的价值,在招收诱惑的一瞬间被决定。2024/9/252024/9/252024/9/252024/9/25Wednesday, September 25, 2024Wednesday, September 25, 2024u1010、低头要有勇气,抬头要有低气。、低头要有勇气,抬头要有低气。2024/9/252024/9/252024/9/252024/9/252024/9/252024/9/259/25/2024 9:22:29 PM9/25/2024 9:22:29 PMu1111、人总是珍惜为得到。、人总是珍惜为得到。2024/9/252024/9/252024/9/252024/9/252024/9/252024/9/25Sep-24Sep-2425-Sep-2425-Sep-24u1212、人乱于心,不宽余请。、人乱于心,不宽余请。2024/9/252024/9/252024/9/252024/9/252024/9/252024/9/25Wednesday, September 25, 2024Wednesday, September 25, 2024u1313、生气是拿别人做错的事来惩罚自己。、生气是拿别人做错的事来惩罚自己。2024/9/252024/9/252024/9/252024/9/252024/9/252024/9/252024/9/252024/9/259/25/20249/25/2024u1414、抱最大的希望,作最大的努力。、抱最大的希望,作最大的努力。25 25 九月九月 2024 20242024/9/252024/9/252024/9/252024/9/252024/9/252024/9/25u1515、一个人炫耀什么,说明他内心缺少什么。、一个人炫耀什么,说明他内心缺少什么。九月九月 24 242024/9/252024/9/252024/9/252024/9/252024/9/252024/9/259/25/20249/25/2024u1616、业余生活要有意义,不要越轨。、业余生活要有意义,不要越轨。2024/9/252024/9/252024/9/252024/9/2525 September 202425 September 2024u1717、一个人即使已登上顶峰,也仍要自强不息。、一个人即使已登上顶峰,也仍要自强不息。2024/9/252024/9/252024/9/252024/9/252024/9/252024/9/252024/9/252024/9/25谢谢大家谢谢大家66
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号