




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、MySQL概述1、什么是数据库 ?答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库2、什么是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ?答:他们均是一个软件,都有两个主要的功能:o a. 将数据保存到文件或内存o b. 接收特定的命令,然后对文件进行相应的操作3、什么是SQL ?答:MySQL等软件可以接受命令,并做出相应的操作,由于命令中可以包含删除文件、获取文件内容等众多操作,对于编写的命令就是是SQL语句。二、MySQL安装 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Ora
2、cle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。想要使用MySQL来存储并操作数据,则需要做几件事情:a. 安装MySQL服务端b. 安装MySQL客户端b. 【客户端】连接【服务端】c. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等) 下载 安装 windows: linux: yum install mysql-server mac: 一直点下一步客户端连接 连接: 1、mysq
3、l管理人默认为root,没有设置密码则直接登录 mysql -h host -u root -p 不用输入密码按回车自动进入 2、如果想设置mysql密码 mysqladmin -u root password 123456 3、如果你的root现在有密码了(123456),那么修改密码为abcdef的命令是: mysqladmin -u root -p password abcdef 退出: QUIT 或者 Control+D三、数据库基础分为两大部分: 1、数据库和表的创建; 2、数据库和表内容的操作数据库操作-思路图1、数据库和表的创建 (一)数据库的创建1.1、显示数据库1 SHOW
4、DATABASES; 默认数据库: mysql - 用户权限相关数据test - 用于用户测试数据information_schema - MySQL本身架构相关数据1.2、创建数据库 # utf-8 CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; # gbk CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; 1.3、打开数据库 USE db_name; 注:每次使用数据库必须打开相应数据库显示当前使用的数据库中所
5、有表:SHOW TABLES;1.4、用户管理 用户设置:创建用户 create user 用户名IP地址 identified by 密码;删除用户 drop user 用户名IP地址;修改用户 rename user 用户名IP地址; to 新用户名IP地址;修改密码 set password for 用户名IP地址 = Password(新密码) PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议) 用户权限设置:show grants for 用户IP地址 - 查看权限grant 权限 on 数据库.表 to 用户IP地址 - 授权revok
6、e 权限 on 数据库.表 from 用户IP地址 - 取消权限 all privileges 除grant外的所有权限 select 仅查权限 select,insert 查和插入权限 . usage 无访问权限 alter 使用alter table alter routine 使用alter procedure和drop procedure create 使用create table create routine 使用create procedure create temporary tables 使用create temporary tables create user 使用creat
7、e user、drop user、rename user和revoke all privileges create view 使用create view delete 使用delete drop 使用drop table execute 使用call和存储过程 file 使用select into outfile 和 load data infile grant option 使用grant 和 revoke index 使用index insert 使用insert lock tables 使用lock table process 使用show full processlist select
8、 使用select show databases 使用show databases show view 使用show view update 使用update reload 使用flush shutdown 使用mysqladmin shutdown(关闭MySQL) super 使用change master、kill、logs、purge、master和set global。还允许mysqladmin调试登陆 replication client 服务器位置的访问 replication slave 由复制从属使用对于权限设置 对于目标数据库以及内部其他: 数据库名.* 数据库中的所有 数
9、据库名.表 指定数据库中的某张表 数据库名.存储过程 指定数据库中的存储过程 *.* 所有数据库对于数据库名的解释 用户名IP地址 用户只能在改IP下才能访问 用户名192.168.1.% 用户只能在改IP段下才能访问(通配符%表示任意) 用户名% 用户可以再任意IP下访问(默认IP地址为%)对于ip地址的访问 grant all privileges on db1.tb1 TO 用户名IP grant select on db1.* TO 用户名IP grant select,insert on *.* TO 用户名IP revoke select on db1.tb1 from 用户名IP
10、实际例子1.4、备份库和恢复库 备份库: MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成。 1.在Windows下MySQL的备份与还原备份 1、开始菜单 | 运行 | cmd |利用“cd /Program Files/MySQL/MySQL Server 5.0/bin”命令进入bin文件夹 2、利用“mysqldump -u 用户名 -p databasename exportfilename”导出数据库到文件,如mysqldump -u root -p voicevoice.sql,然后输入密码即可开始导出。 还原 1、进入MySQL Comman
11、d Line Client,输入密码,进入到“mysql”。2、输入命令show databases;,回车,看看有些什么数据库;建立你要还原的数据库,输入create database voice;,回车。3、切换到刚建立的数据库,输入use voice;,回车;导入数据,输入source voice.sql;,回车,开始导入,再次出现mysql并且没有提示错误即还原成功。 2、在linux下MySQL的备份与还原2.1 备份(利用命令mysqldump进行备份) rootlocalhost mysql# mysqldump -u root -p voicevoice.sql,输入密码即可。
12、2.2 还原方法一: rootlocalhost # mysql -u root -p 回车,输入密码,进入MySQL的控制台mysql,同1.2还原。方法二: rootlocalhost mysql# mysql -u root -p voiceF:all.sql2.备份全部数据库的结构(加 -d 参数)mysqldump -uroot -p123456 -A -dF:all_struct.sql3.备份全部数据库的数据(加 -t 参数)mysqldump -uroot -p123456 -A -tF:all_data.sql4.备份单个数据库的数据和结构(,数据库名mydb)mysqldu
13、mp -uroot -p123456 mydbF:mydb.sql5.备份单个数据库的结构mysqldump -uroot -p123456 mydb -dF:mydb.sql6.备份单个数据库的数据mysqldump -uroot -p123456 mydb -tF:mydb.sql7.备份多个表的数据和结构(数据,结构的单独备份方法与上同)mysqldump -uroot -p123456 mydb t1 t2 f:multables.sql8.一次备份多个数据库mysqldump -uroot -p123456 -databases db1 db2 f:muldbs.sql还原:还原部分
14、分(1)mysql命令行source方法 和 (2)系统命令行方法1.还原全部数据库:(1) mysql命令行:mysqlsource f:all.sql(2) 系统命令行: mysql -uroot -p123456 use mydbmysqlsource f:mydb.sql(2) mysql -uroot -p123456 mydb use mydbmysqlsource f:multables.sql(2) mysql -uroot -p123456 mydb source f:muldbs.sql(2) 系统命令行: mysql -uroot -p123456 14、查4.1、普通查
15、询select * from 表select * from 表 where id 1select nid,name,gender as gg from 表 where id 1a、条件 select * from 表 where id 1 and name != alex and num = 12; select * from 表 where id between 5 and 16; select * from 表 where id in (11,22,33) select * from 表 where id not in (11,22,33) select * from 表 where id
16、 in (select nid from 表)b、限制 select * from 表 limit 5; - 前5行 select * from 表 limit 4,5; - 从第4行开始的5行 select * from 表 limit 5 offset 4 - 从第4行开始的5行更多选项查询4.2、数据排序(查询)排序 select * from 表 order by 列 asc - 根据 “列” 从小到大排列 select * from 表 order by 列 desc - 根据 “列” 从大到小排列 select * from 表 order by 列1 desc,列2 asc -
17、根据 “列1” 从大到小排列,如果相同则按列2从小到大排序 4.3、模糊查询通配符(模糊查询) select * from 表 where name like ale% - ale开头的所有(多个字符串) select * from 表 where name like ale_ - ale开头的所有(一个字符) 4.4、聚集函数查询1)COUNT 语法:COUNT(e1) 参数:e1为一个表达式,可以是任意的数据类型 返回:返回数值型数据 作用:返回e1指定列不为空的记录总数2)SUM, 语法:SUM(e1) 参数:e1为类型为数值型的表达式 返回:返回数值型数据 作用:对e1指定的列进行求和
18、计算3)MIN, MAX 语法:MIN(e1)、MAX(e1) 参数:e1为一个字符型、日期型或数值类型的表达式。 若e1为字符型,则根据ASCII码来判断最大值与最小值。 返回:根据e1参数的类型,返回对应类型的数据。 作用:MIN(e1)返回e1表达式指定的列中最小值; MAX(e1)返回e1表达式指定的列中最大值;4)AVG 语法:AVG(e1) 参数:e1为一个数值类型的表达式 返回:返回一个数值类型数据 作用:对e1表达式指定的列,求平均值。5)MEDIAN 语法:MEDIAN(e1) 参数:e1为一个数值或日期类型的表达式 返回:返回一个数值或日期类型的数据 作用:首先,根据e1表
19、达式指定的列,对值进行排序; 若排序后,总记录为奇数,则返回排序队列中,位于中间的值; 若排序后,总记录为偶数,则对位于排序队列中,中间两个值进行求平均,返回这个平均值;6)RANK 1)用法1:RANK OVER 语法: RANK( ) OVER ( PARTITION BY column1 ORDER BY column2 ASC|DESC) 为分析函数,为每条记录产生一个序列号,并返回。 参数: column1为列名,指定按照哪一列进行分类(分组) column2为列名,指定根据哪列排序,默认为升序; 若指定了分类子句(PARTITION BY),则对每类进行排序(每个分类单独排序) 返
20、回:返回一个数值类型数据,作为该记录的序号! 作用:为分析函数,对记录先按column1分类,再对每个分类进行排序,并为每条记录分配一个序号(每个分类单独排序) 注意:排序字段值相同的记录,分配相同的序号。存在序号不连续的情况 实例:student表记录了学生每科的成绩,要求按学科排序,并获取每科分数前两名的记录 student表如下: SQL select * from student order by kemu; NAME ID KEMU FENSHU - - - - Li 0113101 物理 80 Luo 0113011 物理 80 Wang 0113077 物理 70 Zhang 0113098 物理 90 Luo 0113011 高数 80 Wang 0113077 高数 70 Zhang 0113098 高数 80 Li 0113101 高数 90 8 rows selected 按学科分类,按成绩排序(降序) SQL se
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海科技大学《航海学》2023-2024学年第二学期期末试卷
- 钦州幼儿师范高等专科学校《酒店服务营销》2023-2024学年第二学期期末试卷
- 黄淮学院《地理学基本问题》2023-2024学年第二学期期末试卷
- 福建卫生职业技术学院《小学文学与媒体教育》2023-2024学年第二学期期末试卷
- 集宁师范学院《跨境电子商务实务》2023-2024学年第二学期期末试卷
- 浙江工业大学之江学院《管理心理学D1》2023-2024学年第二学期期末试卷
- 黑龙江建筑职业技术学院《日语会话3》2023-2024学年第二学期期末试卷
- 崇左幼儿师范高等专科学校《比较思想教育学》2023-2024学年第二学期期末试卷
- 武汉商贸职业学院《制药工程与工艺》2023-2024学年第二学期期末试卷
- 云南工贸职业技术学院《学校心理辅导》2023-2024学年第二学期期末试卷
- 北京市丰台区2024-2025学年高二上学期期末英语试题
- 电力安全一把手讲安全课
- 小学三年级数学口算天天练-A4纸直接打印
- 2025年亿达商学院成立仪式及论坛经验总结(三篇)
- (2025)驾照C1证考试科目一必考题库及参考答案(包过版)
- 2025年湖南理工职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 罕见病诊治与病例管理制度
- 课题申报书:“四新”建设与创新创业人才培养基本范式研究
- 妇科常见急危重症护理
- 春季高考高职单招数学模拟试题七套含答案
- 2024-2025学年陕西省宝鸡市高三上学期高考模拟检测(一)英语试题(含解析)
评论
0/150
提交评论