《网站设计与建设-MySQL数据库.ppt》由会员分享,可在线阅读,更多相关《网站设计与建设-MySQL数据库.ppt(64页珍藏版)》请在三一办公上搜索。
1、第20章 MySQL数据库,2,介绍数据库系统与MySQL登入MySQL数据库系统的过程介绍“数据库”操作介绍“表”的操作MySQL的用户管理MySQL数据备份,概 述,20.1 MySQL概述,MySQL关系数据库管理系统MySQL是一种开放源码软件具有快速、可靠和易于使用结构化查询语言:SQLWeb中小型数据库的首选,3,20.2 MySQL的工作原理 C/S结构,20.3 MySQL启动与退出,建立到MySQL服务器的连接格式:mysql-h host_name-u user_name-pyour_password-p和your_password中间没有空格,断开到MySQL服务器的连接
2、 mysql exitmysql quit,口令管理,MySQL的用户配置信息:c:f,20.5 数据库操作,查看数据库SHOW DATABASES;SELECT database();创建数据库CREATE DATABASE 数据库名;删除数据库DROP DATABASE IF EXISTS 数据库名;打开数据库USE 数据库名;,10,20.7“表”操作,查看表SHOW TABLES;创建表显示表的结构修改表的结构删除表,11,12,格式:mysqlCREATE TEMPORARY TABLE IF NOT EXISTS 表名 字段定义,表选项 查询语句;Mysql调用文件*.sql,“表
3、”操作创建表,返回,13,格式:mysqlDESCRIBE 表名;mysqlDESC 表名;MysqlSHOW COLUMNS FROM 表名;,“表”操作显示表的结构,返回,14,更改表名更改字段名更改字段类型增加一个字段删除一个字段转换表的类型,“表”操作修改表的结构,返回,15,格式:ALTER TABLE 原表名 RENAME as 新表名;,“表”操作修改表的结构:更改表名,返回,16,格式:ALTER TABLE 表名 CHANGE 原字段名 新字段名 原字段定义;,“表”操作修改表的结构:更改字段名,返回,17,格式:ALTER TABLE 表名 CHANGE 字段名 字段名 字
4、段新类型;ALTER TABLE 表名 MODIFY 字段名 字段新类型;,“表”操作修改表的结构:更改字段类型,返回,18,ISAM 在MySQL3.23以前版本支持MYISAM 是MySQL3.23以后版本的默认“表”类型。HEAP“临时”内存表格式:sqlALTER TABLE 表名 TYPE=表新类型;,“表”操作修改表的结构:转换表的类型,返回,19,格式:sqlALTER TABLE 表名 ADD 字段名 类型;,“表”操作修改表的结构:增加字段,返回,20,格式:sqlALTER TABLE 表名 DROP COLUMN 字段名;,“表”操作修改表的结构:删除字段,返回,21,格
5、式:sqlDROP TABLE IF EXISTS 表名1,表名2,返回,“表”操作删除“表”,22,增加记录查询记录排序记录修改纪录删除记录,20.8“记录”操作,22,23,格式1:对所有字段赋值,可插入多条记录 sqlinsert into 表名 values(值1,值2,),(值1,值2,),;,“记录”操作增加记录,24,格式2:仅对某些字段赋值,可插入多条记录 sqlinsert into 表名(字段1,字段2,)values(值1,值2,),values(值1,值2,),;,“记录”操作增加记录(续1),25,格式3:仅对某些字段赋值 sqlinsert into 表名 set
6、字段1=值1,set 字段2=值2,;,返回,“记录”操作增加记录(续2),26,格式:sqlselect 字段 from 表1,表2,where 条件 order by 排序字段 group by 分组字段 limit 待显示的记录数,“记录”操作查询记录,27,格式:sqlselect 字段 from 表1,表2,where 条件 order by 排序字段 group by 分组字段 limit 待显示的记录数 例1:sqlselect*from cs_students;,“记录”操作查询记录(续1),28,例2:sqlselect 2*4,now(),version();,“记录”操作
7、查询记录(续2),29,例3:sqlselect id,name,sex from cs_students;,“记录”操作查询记录(续3),30,例4:sqlselect id as 学号,name as 姓名,sex as 性别 from cs_students;,“记录”操作查询记录(续4),31,例5:sqlselect id as 学号,name as 姓名,from cs_students where sex=女;,“记录”操作查询记录(续5),32,例6:sqlselect id as 学号,name as 姓名,from cs_students where sex=女 and c
8、s_name like 李%;,“记录”操作查询记录(续6),返回,33,例:sqlselect id,name,sex from cs_students order by id;sqlselect id,name,sex from cs_students order by id desc;,“记录”操作-排序记录,返回,34,例:sqlupdate students set id=201003 where id=202003;,“记录”操作-修改记录,返回,35,例:sqldelete from students where name=“李娜”and sex=“女”;,“记录”操作-删除记录
9、,返回,20.9“索引”操作,Primary Key 索引一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引Unique 索引索引列的值必须唯一,但允许有空值。普通索引这是最基本的索引,它没有任何限制,36,37,格式1:sqlALTER TABLE 表名 ADD INDEX 索引名称(字段列表)格式2:sqlALTER TABLE 表名 ADD UNIQUE 索引名称(字段列表)格式3:sqlALTER TABLE 表名 ADD PRIMARY KEY(字段列表),“索引记录”-产生索引,返回,38,“索引记录”-普通索引实例,返回,39,格式:sqlALTER TABLE
10、 表名 DROP INDEX 索引名称;sqlALTER TABLE 表名 DROP UNIQUE 索引名称;sqlALTER TABLE 表名 DROP PRIMARY KEY;或 sqlDROP INDEX 索引名称 ON 表名;,“索引记录”-删除索引,返回,2011 用户管理,服务器把权限信息存贮在一个名为MySQL的数据库中,该数据库中有user,db,host,tables_priv,columns_priv,procs_priv和grant表。增加用户赋予权限更改口令取消权限删除用户,40,增加用户,CREATE USER 用户名 IDENTIFIED BY PASSWORD 口
11、令对于创建的账户,CREATE USER会在没有权限的MySQL.user表中创建一个新记录,41,mysql数据库的user表中。如果使用了PASSWORD关键词,口令必须是经过哈希处理的41位口令。要用纯文本中指定密码,需忽略PASSWORD关键词。,赋予权限,GRANT 权限 ON 表名|*|*.*|数据库名.*TO userlocalhost|%IDENTIFIED BY PASSWORD password;必须在MySQLd正在运行同一台机器上,作为MySQL root用户连接,并且root用户必须对MySQL数据库有insert权限和reload管理权限。本地帐号:localhos
12、t;远程帐号:%注意:必须对user1localhost和user1%分别发出GRANT语句。localhost创建本地账号,只能在运行MySQL服务器的机器上使用的账号;%是创建的远程账号,匹配任何地址,可以在非本地机上使用的账号;对于同一个用户名和密码有两种账号,即本地账号和远程账号,这两种账号需要分别创建。,43,44,返回,mysqlGRANT ALL PRIVILEGES ON*.*TO user1localhost IDENTIFIED BY pass1 WITH GRANT OPTION;mysqlGRANT ALL PRIVILEGES ON*.*TO user1”%”IDEN
13、TIFIED BY pass1 WITH GRANT OPTION;mysqlGRANT RELOAD,PROCESS ON*.*TO adminlocalhost;,权限机制,服务器把权限信息存贮在一个名为MySQL的数据库中,该数据库中有user,db,host,tables_priv,columns_priv,procs_priv和grant表。MySQL服务器启动时,把这些表的内容读入内存中。当执行FLUSH PRIVILEGES语句或者执行一个MySQLadmin 的 flush-privileges命令 或 MySQLadmin 的 reload 命令,服务器重新把这些表的内容读入
14、内存,使设置的用户权限立即生效权限系统根据内存中的grant表进行存取控制。直接操作:INSERT INTO user VALUES(localhost,user1,PASSWORD(pass1);权限有:select,create,insert,update,delete,45,46,返回,删除用户,mysqlDELETE FROM user WHERE user=“用户名”and host=“主机名”;mysqlFLUSH PRIVILEGES;,更改口令,mysqladmin管理程序 password命令 C:mysqladmin-u user_name password new_pas
15、sword,在mysql客户监视状态下 SET PASSWORD 命令实现SET PASSWORD=PASSWORD(“some_password”)对当前用户进行的。任意一个连接到服务器上的非匿名用户帐号,SET PASSWORD FOR user=PASSWORD(“some_password”)对特定用户进行的。具有UPDATE权限的用户本地帐号:localhost;远程帐号:%,50,这个命令实际上等价于下面命令:mysql UPDATE mysql.user SET Password=PASSWORD(“newp”)WHERE User=“root”AND Host=“localho
16、st”;mysql FLUSH PRIVILEGES;,51,返回,取消权限,mysqlREVOKE 权限 ON 表名或数据库名或*.*FROM 用户名”;mysqlFLUSH PRIVILEGES;,2012 数据备份与恢复,进行SQL级别的表备份,可以使用SELECT INTO.OUTFILE或BACKUP TABLE使用MySQLdump程序C:mysqldump u root p library c:library20031212.sql数据复原:MySQL u p 数据库名 文件名.sql,52,53,54,加锁:加锁时,释放以前的锁定LOCK TABLES 表名 READ|WRIT
17、E|LOW_PRIORITY;解锁:UNLOCK TABLES;,“锁”操作,55,加锁:加锁时,释放以前的锁定LOCK TABLES 表名 READ|WRITE|LOW_PRIORITY;解锁:UNLOCK TABLES;,“锁”操作,56,WinMySQLAdmin图形管理工具,57,14.WinMySQLAdmin图形管理工具(续1),58,14.WinMySQLAdmin图形管理工具(续2),59,15.MySqlManager图形管理工具,c:mysqlbinMySqlManager.exe,60,15.MySqlManager图形管理工具(续1),61,注:须要在数据库图标上按右键
18、选择“Query”,15.MySqlManager图形管理工具(续2),62,15.MySqlManager图形管理工具(续3),63,第22章 小结,介绍数据库系统与MySQL登入MySQL数据库系统的过程介绍“数据库”操作介绍“表”的操作MySQL的用户管理MySQL数据备份,64,第22章 思考问题,end,22.4 MySQL的配置文件是什么?在什么位置?22.8 用户有几种方法修改口令?写出其命令格式?22.10 在创建或删除数据库时,IF EXISTS作用是什么?22.11 MySQL数据库的NULL字段类型含义是什么?MySQL账户管理中的“%”有什么含义?MySQL怎样备份数据?,