700 likes | 1.17k Views
第 20 章 MySQL 数据库. 概 述. 介绍数据库系统与 MySQL 登入 MySQL 数据库系统的过程 介绍“数据库”操作 介绍“表”的操作 MySQL 的用户管理 MySQL 数据备份. 1. MySQL 关系数据库管理系统. MySQL 关系数据库管理系统 MySQL 是一种开放源码软件 具有快速、可靠和易于使用 结构化查询语言: SQL C/S 体系结构 Web 中小型数据库的首选. 2. 登入与退出 MySQL 数据库. 格式: mysql [-h host_name] [-u user_name]
E N D
概 述 • 介绍数据库系统与MySQL • 登入MySQL数据库系统的过程 • 介绍“数据库”操作 • 介绍“表”的操作 • MySQL的用户管理 • MySQL数据备份
1. MySQL关系数据库管理系统 • MySQL关系数据库管理系统 • MySQL是一种开放源码软件 • 具有快速、可靠和易于使用 • 结构化查询语言:SQL • C/S体系结构 • Web中小型数据库的首选
2.登入与退出MySQL数据库 • 格式:mysql [-h host_name] [-u user_name] [-pyour_password] • -p和your_password中间没有空格 • mysql> exit
3.MySQL的用户配置信息:c:\my.cnf • 参照c:\mysql\my-small.cnf … my-huge.cnf • Copy 参照的cnf文件到c:\my.cnf,设置读写权限 • 运行mysql,自动调用my.cnf
4.更改超级用户root的口令 • C:>MySQLadmin [-u 用户名] password "新口令" • Mysql> SET PASSWORD=PASSWORD(“some_password”) • SET PASSWORD FOR user=PASSWORD(“some_password”) • MySQL> UPDATE MySQL.user • -> SET Password=PASSWORD(“newp”) • -> WHERE User=“root” AND • -> Host=“%”; • MySQL> FLUSH PRIVILEGES; • 本地帐号:localhost;远程帐号:%
5.数据库操作 • 查看数据库 • 创建数据库 • 打开数据库 • 删除数据库 7
6.“表”操作 • 显示表 • 创建表 • 显示表的结构 • 修改表的结构 • 删除表 8
7.“记录”操作 • 增加记录 • 查询记录 • 排序记录 • 修改纪录 • 删除记录 9
8.“索引”操作 • Primary Key 索引 • Unique 索引 • 普通索引 • 产生索引 • 删除索引 10
9.“显示信息”操作 • SHOW • DESC 表名; • EXPLAIN 表名 或select 语句; 11
10.“优化表”操作 • OPTIMIZE TABLE 表名;
11.“锁”操作 • 加锁: 加锁时,释放以前的锁定 LOCK TABLES 表名 {READ|WRITE|LOW_PRIORITY}; • 解锁:UNLOCK TABLES ;
12.用户权限管理 • 增加用户 • 设置用户密码 • 删除用户 • 取消权限 14
13.数据备份 • 直接拷贝备份 c:\mysql\data\数据库名 • Mysqldump C:>mysqldump –u root –p library > c:\mysql\backup\library20031212.sql • 数据复原:MySQL -u -p 数据库名 < 文件名.sql
15.MySqlManager图形管理工具 • c:\mysql\bin\MySqlManager.exe
15.MySqlManager图形管理工具(续2) 注:须要在数据库图标上按右键选择“Query”
第20章 小结 • 介绍数据库系统与MySQL • 登入MySQL数据库系统的过程 • 介绍“数据库”操作 • 介绍“表”的操作 • MySQL的用户管理 • MySQL数据备份
第20章 思考问题 • 20.4 MySQL的配置文件是什么?在什么位置? • 20.8 用户有几种方法修改口令?写出其命令格式? • 20.10 在创建或删除数据库时,IF EXISTS作用是什么? • 20.11 MySQL数据库的NULL字段类型含义是什么? • MySQL账户管理中的“%”有什么含义? • MySQL怎样备份数据? end
数据库操作--查看数据库 • 数据库存放的位置: C:\mysql\data • 一个数据库对应一个文件夹 • 显示以创建的数据库: SHOW DATABASES; • 显示当前数据库: Sql>Select database(); 返回
数据库操作--创建数据库 • 格式:CREATE DATABASE 数据库名 • 在c:\mysql\data下创建一个“数据库名”文件夹 • 该数据库内容为空 返回
数据库操作--打开一个数据库 • 将一数据库切换为当前数据库 • 格式:use 数据库名 返回
数据库操作--删除数据库 • 删除一个数据库同时,其数据表等也被删除 • 格式:DROP DATABASE [IF EXISTS] 数据库名; 返回
“表”操作—显示表 • 格式:mysql>SHOW TABLES; 返回
“表”操作—创建表 • 格式:mysql>CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 表名 [字段定义,…] [表选项] [查询语句]; • Mysql调用文件*.sql 返回
“表”操作—显示表的结构 • 格式: • mysql>DESCRIBE 表名; • mysql>DESC 表名; • Mysql>SHOW COLUMNS FROM 表名; 返回
“表”操作—修改表的结构 • 更改表名 • 更改字段名 • 更改字段类型 • 增加一个字段 • 删除一个字段 • 转换表的类型 返回
“表”操作—修改表的结构:更改表名 • 格式: ALTER TABLE 原表名 RENAME as 新表名; 返回
“表”操作—修改表的结构:更改字段名 • 格式: ALTER TABLE 表名CHANGE 原字段名 新字段名 原字段定义; 返回
“表”操作—修改表的结构:更改字段类型 • 格式: ALTER TABLE 表名CHANGE 字段名 字段名 字段新类型; • ALTER TABLE 表名MODIFY 字段名 字段新类型; 返回
“表”操作—修改表的结构:转换表的类型 • ISAM 在MySQL3.23以前版本支持 • MYISAM 是MySQL3.23以后版本的默认“表”类型。 • HEAP “临时”内存表 • 格式:sql>ALTER TABLE 表名 TYPE=表新类型; 返回
“表”操作—修改表的结构:增加字段 • 格式:sql>ALTER TABLE 表名 ADD 字段名 类型; 返回
“表”操作—修改表的结构:删除字段 • 格式: sql>ALTER TABLE 表名 DROP COLUMN 字段名; 返回
“表”操作—删除“表” • 格式: sql>DROP TABLE [IF EXISTS] 表名1, 表名2 … 返回
“记录”操作—增加记录 • 格式1:对所有字段赋值,可插入多条记录 sql>insert into 表名 values (值1,值2,…), (值1,值2,…),…;
“记录”操作—增加记录(续1) • 格式2:仅对某些字段赋值,可插入多条记录 sql>insert into 表名 (字段1,字段2,…) values (值1,值2,…),values (值1,值2,…),…;
“记录”操作—增加记录(续2) • 格式3:仅对某些字段赋值 sql>insert into 表名 set 字段1=值1,set 字段2=值2,…; 返回
“记录”操作—查询记录 • 格式:sql>select 字段 from 表1,表2,… where 条件 order by 排序字段 group by 分组字段 limit 待显示的记录数
“记录”操作—查询记录(续1) • 格式:sql>select 字段 from 表1,表2,… where 条件 order by 排序字段 group by 分组字段 limit 待显示的记录数 • 例1:sql>select * from cs_students;
“记录”操作—查询记录(续2) • 例2:sql>select 2*4,now(),version();
“记录”操作—查询记录(续3) • 例3:sql>select id,name,sex from cs_students;
“记录”操作—查询记录(续4) • 例4:sql>select id as ‘学号’,name as ‘姓名’, sex as ‘性别’from cs_students;
“记录”操作—查询记录(续5) • 例5:sql>select id as ‘学号’,name as ‘姓名’, from cs_students where sex=‘女’;
“记录”操作—查询记录(续6) • 例6:sql>select id as ‘学号’,name as ‘姓名’, from cs_students where sex=‘女’and cs_name like ‘李%’; 返回