第20章 MySQL数据库.

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

作業一 : USING DBMS ( 使用 DB2 及 SQL 基本練習 ) 報告人:學生楊群期 學號: 課程 : 高等資料庫 講師 : 楊維邦教授.
2010 年 6 月课件制作人:王亚楠 1 模块 2 项目开发概论 教学课件 年 6 月课件制作人:王亚楠 2 目录 目标 了解:数据库技术的基本概念与结构 理解:数据模型的分类与结构组成 掌握:关系数据库及 SQL 的基本理论 知识 掌握:数据库设计的方法与步骤 内容 2.1 数据库技术基础.
Data type P64 ‘’ 转义字符 P67 P68 EXE,选出某个教师的学生中最新的一 个,要姓名, ID (,LIMIT ) EXISTS,NOT EXISTS P409 Q,EXISTS 和 in 的区别( 1000 ,查询结果)
PHP 训练营 - MySQL OA 产品部 李鑫辉 2011 年 9 月. 内容提要 & 目录 1. 介绍 (10 分钟 ) 1.1. 简介 1.2. 特点 1.3. 安装 2. 语法 (60 分钟 ) 2.1. 存储引擎 MyISAM InnoDB 特点与区别.
Java 技术与应用 数据库应用 ( 第 14 章 ) 西安交大 卫颜俊 2008 年 12 月 电子信箱: QQ: 网站 : /java.
第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
《 ORACLE 》 计算机技术与软件工程学院 胡斌 学习情境 6 系统安全管理( 8 学时) 按照系统的职能范围不同,可将Oracle的安全体系 结构分成三个部分; (1)数据库内部的管理:主要包括用户标识/口令 ;角色与权限等。 (2)资源管理:主要通过系统概要文件限制连接 会话等。 ( 3.
SQL 入门 SQL:Structured query language 北京传智播客教育.
第八单元 数据库MySQL应用基础 MySQL数据库应用基础 MySQ数据库操作使用 Mysql管理工具 第25章 数据库的增加/删除操作
關聯查詢.
第5章 关系数据库标准语言SQL 主讲:张丽芳.
十一 ASP对数据库的访问.
第2章 SQL语言初步 2.1 SQL的基本概念 2.2 基本表、索引的创建、删除和修改操作 2.3 SQL的查询语句——SELECT
第2讲 Transact-SQL语言.
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
第8章 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
OceanBase 0.4:从API到SQL 日照
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
第14章 預存程序 14-1 預存程序的基礎 14-2 建立與執行預存程序 14-3 預存程序的參數傳遞 14-4 預存程序的傳回值
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
資料庫 (Database) SQL Server 2008實作
第3章 SQL的基础知识 数据库管理及应用 3.1 SQL简介 3.2 SQL的数据模型 3.3 标识符 3.4 使用SQL语句管理数据库
第7章 数据库基础知识 SQL常用命令使用方法 (1) 数据记录筛选: sql="select * from 数据表
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
MySQL 使用者名稱:USERNAME (上限16個字元)
MySQL資料庫安全管理.
第4讲 MySQL服务器的配置与应用.
第一讲 数据查询优化.
创建数据库 MySql创建数据库的语法: CREATE DATABASE 数据库名; 例: CREATE DATABASE mydb;
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
计算机应用基础 上海大学计算中心.
資料庫管理 資管二 賴柏融.
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
第十五章 常見的資料庫管理系統 目的 Oracle 微軟SQL Server 微軟Access MySQL Oracle 應用伺服器
第六章 學習SQL語言.
課程名稱:資料庫系統 授課老師:李春雄 博士
第十一章 資料庫設計與權限設定.
数据库技术 第三章 关系数据库标准语言SQL 中国科学技术大学网络学院 阚卫华.
2、掌握SQL中各种查询方法和数据更新方法 3、掌握SQL中视图的定义方法和用法 4、掌握SQL的授权机制
Chap 10 SQL定義、操作與控制指令.
第 7 章 建立資料表與 資料庫圖表.
資料庫安全 (Database Security)
課程名稱:資料庫系統 授課老師:李春雄 博士
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
MySQL数据库基础与实例教程 之 MySQL表结构的管理 郭水泉.
浅谈MySql索引及锁的应用 厦门大学数据库实验室 刘颖杰 2014年3月8日.
SQL SERVER 一些经典语句 1.
MySQL 結構化查詢語言 MySQL.
iRepor报表设计基础 IReport安装 普通实体报表 数据结果集报表 工作流主从报表 饼状图报表 柱状图,曲线图报表 条形码报表
实验二讲评 … 张榆….
数据库技术.
第 10 章 数据库编程.
数据库技术与应用.
MySQL开发规范 DB组-张浩.
雲端計算.
第11章 ListView延迟加载效果 授课老师:高成珍 QQ号: QQ群: 、
CS, ZJU 4/18/2019 Chapter 7 数据库.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
学习目标 1、什么是表连接 2、表连接类型 3、表连接区别.
第12章 MySQL資料庫系統的使用 12-1 網頁資料庫的基礎 12-2 MySQL資料庫系統
SQL查询语句 蔡海洋.
第三章 SQL Server数据管理.
第六類 資料庫備份與回復.
第 7 章 建立資料表與資料庫圖表.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
資料庫應用與實作 一到六章重點、習題.
第4章 数据查询.
Web安全基础教程
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

第20章 MySQL数据库

概 述 介绍数据库系统与MySQL 登入MySQL数据库系统的过程 介绍“数据库”操作 介绍“表”的操作 MySQL的用户管理

20.1 MySQL概述 MySQL关系数据库管理系统 MySQL是一种开放源码软件 具有快速、可靠和易于使用 结构化查询语言:SQL Web中小型数据库的首选

20.2 MySQL的工作原理 C/S结构

20.3 MySQL启动与退出 建立到MySQL服务器的连接 [-pyour_password] 格式:mysql [-h host_name] [-u user_name] [-pyour_password] -p和your_password中间没有空格

断开到MySQL服务器的连接 mysql> exit mysql> quit

口令管理 MySQL的用户配置信息:c:\my.cnf

20.5 数据库操作 查看数据库 创建数据库 打开数据库 删除数据库 10

查看数据库 数据库存放的位置: C:\mysql\data 一个数据库对应一个文件夹

显示以创建的数据库: SHOW DATABASES; 显示当前数据库: Select database();

创建数据库 格式:CREATE DATABASE 数据库名 在c:\mysql\data下创建一个“数据库名”文件 夹 该数据库内容为空

打开一个数据库 将一数据库切换为当前数据 库 格式:use 数据库名

删除数据库 删除一个数据库同时,其数据表等也被删除 格式:DROP DATABASE [IF EXISTS] 数据库名;

20.7 “表”操作 数据库中的数据以“表”的形式存在。 表由记录(row)组成, 每一条记录包含几个字段(field)信息.。 一个数据库中可以有多个“表”。

显示表 格式: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 字段名 字段名 字段新类型; 表名 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 …

20.8 “记录”操作 增加记录 查询记录 排序记录 修改纪录 删除记录 28

“记录”操作—增加记录 格式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 ‘李%’; 返回

“记录”操作-排序记录 例: sql>select id, name, sex from cs_students order by id; order by id desc; 返回

“记录”操作-修改记录 例: sql>update students set id=201003 where id=202003; 返回

“记录”操作-删除记录 例: sql>delete from students where name=“李娜” and sex=“女”; 返回

20.9 “索引”操作 数据库索引好比是一本书前面的目录,能加快数据库的查询速度 为MySQL只对<,<=,=,>,>=,BETWEEN,IN,以及某些时候的LIKE才会使用索引。 查询:select * from table1 where id=10000 如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止; 有了索引之后(必须是在ID这一列上建立的索引),在索引中查找, 但索引是经过某种算法优化过的,查找次数要少的多的多。 增加索引也有许多不利的方面。 第一,创建索引和维护索引要耗费时间, 第二,索引需要占物理空间 第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

Primary Key 索引 Unique 索引 普通索引 一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引 索引列的值必须唯一,但允许有空值。 普通索引 这是最基本的索引,它没有任何限制

格式1:sql>ALTER TABLE 表名 ADD INDEX 索引名称(字段列表) “索引记录”-产生索引 格式1:sql>ALTER TABLE 表名 ADD INDEX 索引名称(字段列表) 格式2:sql>ALTER TABLE 表名 ADD UNIQUE 索引名称(字段列表) 格式3:sql>ALTER TABLE 表名 ADD PRIMARY KEY (字段列表) 返回

“索引记录”-普通索引实例 返回

“索引记录”-删除索引 格式: sql>ALTER TABLE 表名 DROP INDEX 索引名称; sql>ALTER TABLE 表名 DROP UNIQUE 索引名称; sql>ALTER TABLE 表名 DROP PRIMARY KEY; 或 sql>DROP INDEX 索引名称 ON 表名; 返回

20.11 用户管理 服务器把权限信息存贮在一个名为MySQL的数据库中,该数据库中有user, db, host,tables_priv, columns_priv, procs_priv和grant表。 增加用户 赋予权限 更改口令 取消权限 删除用户

增加用户 CREATE USER 用户名 IDENTIFIED BY [PASSWORD] '口令‘ 对于创建的账户,CREATE USER会在没有权限的MySQL.user表中创建一个新记录

mysql数据库的user表中。 如果使用了PASSWORD关键词,口令必须是经过哈希处理的41位口令。要用纯文本中指定密码,需忽略PASSWORD关键词。

赋予权限 GRANT 权限 ON {表名 | * | *.* | 数据库名.*} TO user@[localhost | "%"] IDENTIFIED BY [PASSWORD] ′password′; 必须在MySQLd正在运行同一台机器上,作为MySQL root用户连接, 并且root用户必须对MySQL数据库有insert权限和reload管理权限。 本地帐号:localhost;远程帐号:% 注意:必须对user1@localhost和user1@"%"分别发出GRANT语句。 @localhost创建本地账号,只能在运行MySQL服务器的机器上使用的账号; @"%"是创建的远程账号,匹配任何地址,可以在非本地机上使用的账号; 对于同一个用户名和密码有两种账号,即本地账号和远程账号,这两种账号需要分别创建。

mysql>GRANT ALL PRIVILEGES ON *.* TO user1@localhost IDENTIFIED BY ‘pass1’ WITH GRANT OPTION; TO user1@”%” mysql>GRANT RELOAD, PROCESS ON *.* TO admin@localhost; 返回

权限机制 服务器把权限信息存贮在一个名为MySQL的数据库中,该数据库中有user, db, host,tables_priv, columns_priv, procs_priv和grant表。 MySQL服务器启动时,把这些表的内容读入内存中。 当执行FLUSH PRIVILEGES语句或者执行一个MySQLadmin 的 flush-privileges命令 或 MySQLadmin 的 reload 命令,服务器重新把这些表的内容读入内存,使设置的用户权限立即生效 权限系统根据内存中的grant表进行存取控制。 直接操作: INSERT INTO user VALUES(‘localhost’,’user1’,PASSWORD(‘pass1’)); 权限有:select,create,insert,update,delete …

删除用户 mysql>DELETE FROM user WHERE user=“用户名” and host=“主机名”; mysql>FLUSH PRIVILEGES; 返回

更改口令 mysqladmin管理程序 password命令 C:> mysqladmin [-u user_name] password new_password

在mysql客户监视状态下 SET PASSWORD 命令实现 SET PASSWORD =PASSWORD(“some_password”) 对当前用户进行的。 任意一个连接到服务器上的非匿名用户帐号

SET PASSWORD FOR user =PASSWORD(“some_password”) 对特定用户进行的。 具有UPDATE权限的用户 本地帐号:localhost;远程帐号:%

这个命令实际上等价于下面命令: mysql> UPDATE mysql.user SET Password=PASSWORD(“newp”) WHERE User=“root” AND Host=“localhost”; mysql> FLUSH PRIVILEGES;

mysql>REVOKE 权限 ON 表名或数据库名或*.* FROM 用户名”; 取消权限 mysql>REVOKE 权限 ON 表名或数据库名或*.* FROM 用户名”; mysql>FLUSH PRIVILEGES; 返回

20.12 数据备份与恢复 进行SQL级别的表备份,可以使用SELECT INTO ...OUTFILE或BACKUP TABLE 使用MySQLdump程序 C:>mysqldump –u root –p library > c:\library20031212.sql 数据复原:MySQL -u -p 数据库名 < 文件名.sql

“锁”操作 加锁: 加锁时,释放以前的锁定 LOCK TABLES 表名 {READ|WRITE|LOW_PRIORITY}; 解锁:UNLOCK TABLES ;

“锁”操作 加锁: 加锁时,释放以前的锁定 LOCK TABLES 表名 {READ|WRITE|LOW_PRIORITY}; 解锁:UNLOCK TABLES ;

第22章 小结 介绍数据库系统与MySQL 登入MySQL数据库系统的过程 介绍“数据库”操作 介绍“表”的操作 MySQL的用户管理 第22章 小结 介绍数据库系统与MySQL 登入MySQL数据库系统的过程 介绍“数据库”操作 介绍“表”的操作 MySQL的用户管理 MySQL数据备份

第22章 思考问题 22.4 MySQL的配置文件是什么?在什么位置? 22.8 用户有几种方法修改口令?写出其命令格式? 第22章 思考问题 22.4 MySQL的配置文件是什么?在什么位置? 22.8 用户有几种方法修改口令?写出其命令格式? 22.10 在创建或删除数据库时,IF EXISTS作用是什么? 22.11 MySQL数据库的NULL字段类型含义是什么? MySQL账户管理中的“%”有什么含义? MySQL怎样备份数据? end