MySQL——数据库技术

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6页
连接数据库
使用mysql命令登录MySQL数据库服务器
语法:mysql [-h 主机名或IP地址] [-u 用户名] [-p 口令] 例子:mysql –u root -p 注意:root的密码默认为空
第7页
创建数据库( 创建数据库(1)
查看现有数据库命令: show databases;
第35页
重命名表
从命名表用rename命令
第36页
用户权限管理
添加用户和权限 删除权限 修改MySQL管理员root的口令
第37页
添加用户 (1)
使用grant命令添加用户
第38页
添加用户 (2)
权限( privileges)
ALL — 授予用户如下的所有权限 ALTER — 改变表、列和索引 CREATE — 创建数据库和表 DELETE — 删除表中的记录 DROP — 丢弃和删除表和数据库 FILE — 读、写文件 INDEX — 添加、删除索引 INSERT — 向表中插入记录 PROCESS — 查看和停止系统进程
MySQL数据库的备份与恢复
使用mysqldump命令备份MySQL数据库
恢复数据库
第45页
MySQL数据类型(1)
MySQL的数据类型分为一下三类
数值类型
• TINYINT, SMALLINT, MEDIUMINT,INT,BIGINT,BOOL, FLOAT,DOUBLE,DECIMAL等
日期和时间类型
第5页
MySQL的安装
一般安装 下载exe安装软件,和常规软件安装一样,很容易的。 手动安装 有时候是一个压缩文件,这时候,需要我们手动安装。安 装步骤如下: • 运行cmd命令,进入bin目录,执行下面命令即可: • mysqld-nt -install mysql 修改编码,让支持中文 打开my.ini,把下面的字段全部修改为gb2312即可,注意了, 有两个节点,一个是[mysql](客户端),一个是[mysqld](系 统服务) default-character-set=gb2312
• DATE,TIME,DATETIME,TIMESTAMP,YEAR等
字符串类型
• CHAR,VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM, SET等
第46页
MySQቤተ መጻሕፍቲ ባይዱ存储过程
存储过程简介
存储过程(Stored Procedure)是一组为了完成 特定功能的SQL语句集,经编译后存储在数据 库中。 用户通过指定存储过程的名字并给出参数(如 果该存储过程带有参数)来执行它。 存储过程是数据库中的一个重要对象。
第25页
查询数据: 查询数据:排序
查询排序,排序模式为asc(升序,默认)
第26页
查询数据: 查询数据:排序
查询排序,排序模式为desc
第27页
查询数据: 查询数据:别名
为查询的表定义别名
第28页
查询数据:like 查询数据:
使用like条件查询,这里用百分号开始’%’ 或结束
第29页
查询数据到外部文件
• select version(); • show veriavles like ‘version’;
设置临时选择分隔符
• delimiter //
还原临时选择分隔符
• Delimiter ;
补充
在MySQL编写存储过程的过程中,一般都要设 置选择分隔符,以避免和出错 第50页
MySQL存储过程
MySQL
讲师: 讲师:Kevin
2012年2月
目录
MySQL概述 MySQL的安装 创建数据库 创建表 插入数据 查询数据 更新表 删除表 使用show命令 对表的其他操作 用户权限管理 MySQL数据库的备份与恢复 MySQL数据类型 MySQL存储过程
第2页
MySQL概述 MySQL概述
MySQL是一个高性能、运行速度快、非常 易于使用、多线程、多用户、建立在客户/ 服务器结构上的开源关系型数据库管理系 统 MySQL是世界上最受欢迎的开放源代码数 据库,当前全世界有超过600万的系统使用 MySQL MySQL的官方网站为 http://www.mysql.com
第47页
MySQL存储过程
存储过程优点 储过程的能力大大增强了SQL语言的功能和灵活性。存储 过程可以用流控制语句编写,有很强的灵活性,可以完 成复杂的判断和较复杂的 运算。 可保证数据的安全性和完整性 • 通过存储过程可以使没有权限的用户在控制之下间接 地存取数据库,从而保证数据的安全 • 通过存储过程可以使相关的动作在一起发生,从而可 以维护数据库的完整性 在运行存储过程前,数据库已对其进行了语法和句法分 析,并给出了优化执行方案。这种已经编译好的过程可 极大地改善SQL语句的性能。由于执行SQL语句的大部分 工作已经完成,所以存储过程能以极快的速度执行。 可以降低网络的通信量 第48页
第8页
创建数据库( 创建数据库(2)
第9页
创建表
第10页
创建表( 创建表(2)
查看当前数据库中的所有表
第11页
创建表( 创建表(3)
使用describe(可以缩写为desc)命令查看 表的结构
第12页
修改表
为表acc增加备注(info)字段:
第13页
修改表(2)
修改备注(info)字段为text类型:
第39页
添加用户 (3)
REFERENCES — 当前的MySQL还不能使用 RELOAD — 使用FLUSH语句 SELECT — 从表中查询记录 SHUTDOWN — 关闭MySQL数据库 UPDATE — 更新表中的记录 USAGE — 连接到MySQL数据库,但是没有权 限
第40页
添加用户: 添加用户:例子
第3页
MySQL的优点 MySQL的优点
性能高效而稳定 开放源代码 多用户支持 可以有效地满足50~1000个并发用户的访问 开放性 支持ANSI SQL-99标准,适用于多种操作系统 广泛的应用程序支持 有C、C++、Java、Perl、PHP和Python等多种客户工具和API 的支持 支持事务处理、行锁定、子查询、外键和全文检索等功能 支持大数据库处理 可对某些包含50000000个记录的数据库使用MySQL 有灵活且安全的权限和口令系统,并且允许对其他主机的认证
将查询结果保存到外部文件
第30页
统计查询
第31页
更新数据
更新数据
第32页
删除数据
删除数据用delete命令
第33页
使用show命令 使用show命令 show
查看所有数据库使用show databases命令
第34页
使用show命令( 使用show命令(2) show命令
查看数据库的所有表(包括视图)使用 show databases命令
准备工作:
首先创建一张表:
create table person( id int not null primary key auto_increment, name varchar(20), pass varchar(20), typeid int ); // create table personclass( id int not null primary key auto_increment, classname varchar(20) ); //
第19页
插入数据( 插入数据(2)
使用insert命令插入数据
第20页
插入数据( 插入数据(3)
使用null值插入数据
第21页
查询数据( 查询数据(1)
select命令的格式
第22页
查询数据 (2)
查询表acc中的全部数据
第23页
查询数据 (3)
查询指定字段
第24页
查询数据 (4)
带条件查询
第4页
MYSQL优点
ANSI SQL-99标准(补充) SQL(Stuctured Query Language)是1974年由Boyce Chamberlin提出。ANSI公布新标准SQL-99,亦称SQL3, 成为国际标准后,也成为数据库领域的一个主流语言。 其介与关系代数与关系演算之间的结构化查询语言。 SQL语言 集数据查询、数据操纵、数据定义、数据控制 功能于一体,主要特点包括: • 综合统一 • 高度非过程化 • 面向集合的操作方式 • 以同一种语法结构提供两种使用方式 • 语言简洁
例1:创建口令为 abc123的用户kevin,该 用户在数据库accounts的所有表都有select 和insert权限,并且能够从任何主机连接到 数据库服务器
注意了,kevin帐户连接数据库后,不能创 建表和其他功能了!!!
第41页
添加用户: 添加用户:例子
例2:添加口令为‘abc123’的用户mading, 该用户在数据库accounts的表book上具有 ALL权限,并且只能从特定的主机上连接数 据库
MySQL存储过程
存储过程种类
系统存储过程:
• 一系列数据库自定好的、用来进行系统的各项设定、 取得信息等相关管理工作。一般以SP_开头
扩展存储过程:
• 用来调用操作系统提供的功能,一般以XP_开头
自定义的存储过程:
• 用户自己为完成某种功能而编写的存储过程
第49页
MySQL存储过程
常用操作
查看数据库版本
第42页
回收权限
revoke命令的语法
回收用户kevin在数据库accounts的insert权 限
第43页
修改MySQL管理员root的口令
在初始安装MySQL服务器时,管理员root的 密码为空 使用mysqladmin命令修改root用户的密码 例:将root用户密码改为123456
第44页
第14页
修改表(3)
修改备注(info)字段名称为remark :
第15页
修改表(4)
删除备注(remark)字段:
第16页
修改表(5)
创建查询视图:
第17页
插入数据( 插入数据(1)
acc表的样例数据
acc_id 1034033 1034055 1034067 1034089 1034123 1034154 1034034 1034546 username jsmith jdoe jthompson sstanford blewis ysheets jime jjmyers password smithy doey james2 stanford lewis sheets NULL NULL ts 2009-03-12 12:12:12 2009-03-13 12:12:12 2009-03-14 12:12:12 2009-03-15 12:12:12 2009-03-16 12:12:12 2009-03-17 12:12:12 2009-03-18 12:12:12 2009-03-19 12:12:12
第18页
插入数据SQL
下面SQL是将上面数据插入到数据库的执行 语句 acc values(1034033,'jsmith','smithy','2009-03-12 12:12:12'); insert into
insert into acc values(1034055,'jdoe','doey','2009-03-13 12:12:12'); insert into acc values(1034067,'jthompson','james2','2009-03-14 12:12:12'); insert into acc values(1034089,'sstanford','stanford','2009-03-15 12:12:12'); insert into acc values(1034123,'blewis','lewis','2009-03-16 12:12:12'); insert into acc values(1034154,'ysheets','sheets','2009-03-17 12:12:12'); insert into acc values(1034034,'jime',NULL,'2009-03-18 12:12:12'); insert into acc values(1034546,'jjmyers',NULL,'2009-03-19 12:12:12');
第51页
MySQL存储过程
需求目的
我们知道,当有了表之后,我们向里面插入或 更新数据,直接使用SQL语句就可以了,例如:
• insert into person(name,pass,typeid) values(‘kevin’,’123456’,1); • update person set name=‘kevin’,pass=‘123456’ where id=1;
相关文档
最新文档