mysql复习-
No1 、登录和权限

(一)常用命令
1、登录mysql
mysql -h localhost -u root -p

2、重启mysql
service mysql restart

延伸:
service XXX start 启动服务
service XXX stop 停止服务
service XXX restart 重启服务
service XXX status 查看服务状态

3、更改root密码
(1)mysqladmin -u root password '123' -p
(2)输入旧密码:XXXMMM
(3)刷新权限:flush privileges;

延伸:刷权
2中情况需要刷新权限:①修改密码;②手工改表
重启mysql有刷新权限的功能。

4、添加新mysql的用户
root用户登入
grant 权限列表 on 库.表 to “用户名”@“访问主机” identified by “密码”
4个例子:
(1)创造一个mysql用户andy1,密码123,权限全开,可以在任何ip登录,访问任何数据库
grant all privileges on *.* to andy1@'%' identified by '123';

(2)创造一个mysql用户andy2,密码123,权限全开,可以在任何ip登录,只能访问数据库python_test下的所有表
grant all privileges on python_test.* to andy2@'%' identified by '123';

(3)创造一个mysql用户andy3,密码123,权限全开,可以在任何ip:10.1.2.XX和10.1.50.XX网段登录,只能访问数据库python_test下的所有表
grant all privileges on python_test.* to andy3@'10.1.2.%' identified by '123';
grant all privileges on python_test.* to andy3@'10.1.50.%' identified by '123';

说明:用命令新建用户,不用刷权。

5、删除mysql 用户
方法1:命令删(强烈推荐)
(1)root登入mysql
(2)drop user "andy1"@"%"
%表示任何IP位置可以登录mysql,IP必须与创建时的一致,否则无法删除。

方法2:表中删,需要刷权
(1)root登入mysql
(2)进入mysql库
(3)进入user表,db表
(4)删除and1、%的相关记录,从表中删除
(5)刷新权限:flush privileges;

延伸:查看用户名和登录IP限制
root登入mysql
use mysql
select host, user from user;

(二)常见问题:
1、root远程登录mysql不成功。可能是没有远程接入的权限。
设置远程登录权限:改表法
(1)root用户本地登入:mysql -u root -p
(2)进入mysql库:use mysql
(3)进入user表:select user, host from user;
(4)设置IP登入权限:update user set host="%" where user="root";
(5)刷新权限:flush privileges;

2、如何查看mysql有多少用户
(1)root登入mysql:mysql -u root -p
(2)进入mysql库:use mysql
(3)进入user表:select user, host from user;

3、如何限制mysql用户的登入IP段
创造一个mysql用户andy3,密码123,权限全开,可以在任何ip:10.1.2.XX和10.1.50.XX网段登录,只能访问数据库python_test下的所有表
grant all privileges on python_test.* to andy3@'10.1.2.%' identified by '123';
grant all privileges on python_test.* to andy3@'10.1.50.%' identified by '123';
相等于新建2个不同网段的同名用户
延伸:mysql支持同名用户多人同时使用。

4、如何查询最后登入mysql的实际IP
tracert mysql所在IP地址
结果中最靠近mysql所在IP地址的IP为最后到达mysql的IP

5、如何远程mysql
mysql -h mysql所在IP地址 -u root -p

No2、常用查询---来源考试

#1和#2
建表和数据代码如下:
dept表
DROP TABLE IF EXISTS `dept`;
CREATE TABLE `dept` (`d_no` int(11) NOT NULL AUTO_INCREMENT,`d_name` varchar(50) DEFAULT NULL,`d_location` varchar(100) DEFAULT NULL,PRIMARY KEY (`d_no`)
) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of dept
-- ----------------------------
INSERT INTO `dept` VALUES ('10', 'ACCOUNTING', 'ShangHai');
INSERT INTO `dept` VALUES ('20', 'RESEARCH ', 'BeiJing ');
INSERT INTO `dept` VALUES ('30', 'SALES ', 'ShenZhen ');
INSERT INTO `dept` VALUES ('40', 'OPERATIONS ', 'FuJian ');
SET FOREIGN_KEY_CHECKS=1;

  

employee表
DROP TABLE IF EXISTS `employee`;
CREATE TABLE `employee` (`e_no` int(11) NOT NULL,`e_name` varchar(100) NOT NULL,`e_gender` char(2) NOT NULL,`dept_no` int(11) NOT NULL,`e_job` varchar(100) NOT NULL,`e_salary` smallint(6) NOT NULL,`hireDate` date DEFAULT NULL,KEY `dept_no` (`dept_no`),CONSTRAINT `employee_ibfk_1` FOREIGN KEY (`dept_no`) REFERENCES `dept` (`d_no`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of employee
-- ----------------------------
INSERT INTO `employee` VALUES ('1001', 'SMITH', 'm', '20', 'CLERK', '800', '2005-11-12');
INSERT INTO `employee` VALUES ('1002', 'ALLEN', 'f', '30', 'SALESMAN', '1600', '2003-05-12');
INSERT INTO `employee` VALUES ('1003', 'WARD', 'f', '30', 'SALESMAN', '1250', '2003-05-12');
INSERT INTO `employee` VALUES ('1004', 'JONES', 'm', '20', 'MANAGER', '2975', '1998-05-18');
INSERT INTO `employee` VALUES ('1005', 'MARTIN', 'm', '30', 'SALESMAN', '1250', '2001-06-12');
INSERT INTO `employee` VALUES ('1006', 'BLAKE', 'f', '30', 'MANAGER', '2850', '1997-02-15');
INSERT INTO `employee` VALUES ('1007', 'CLARK', 'm', '10', 'MANAGER', '2450', '2002-09-12');
INSERT INTO `employee` VALUES ('1008', 'SCOTT', 'm', '20', 'ANALYST', '3000', '2003-05-12');
INSERT INTO `employee` VALUES ('1009', 'KING', 'f', '10', 'PRESIDENT', '5000', '1995-01-01');
INSERT INTO `employee` VALUES ('1010', 'TURNER', 'f', '30', 'SALESMAN', '1500', '1997-10-12');
INSERT INTO `employee` VALUES ('1011', 'ADAMS', 'm', '20', 'CLERK', '1100', '1999-10-05');
INSERT INTO `employee` VALUES ('1012', 'JAMES', 'm', '30', 'CLERK', '950', '2008-06-15');
SET FOREIGN_KEY_CHECKS=1;

  

#3. 在employee表中,查询每个部门最高工资的员工信息。
select dept_no,max(e_salary) from employee group by dept_no;
#4. 查询员工BLAKE所在部门和部门所在地。
SELECT e.e_name,d.d_name,d.d_location FROM employee as e LEFT JOIN dept as d ON e.dept_no=d.d_no WHERE e.e_name='BLAKE';
#5. 使用连接查询,查询所有员工的部门和部门信息。
SELECT e.e_name,d.d_name,d.d_location FROM employee as e LEFT JOIN dept as d ON e.dept_no=d.d_no;
#6. 在employee表中,计算不同部门的平均工资。
SELECT dept_no,AVG(e_salary) from employee GROUP BY dept_no;
#7. 在employee表中,查询员工姓名以字母’A’或’S’开头的员工的信息。
SELECT * FROM employee WHERE e_name LIKE 'A%' OR e_name LIKE 'S%';
#8. 在employee表中,将查询记录先按部门编号由高到低排列,再按员工工资由高到低排列。
SELECT * FROM employee ORDER BY dept_no DESC,e_salary DESC;
#9. 在employee表中,查询工资范围在800~2500之间的员工信息。
SELECT * FROM employee WHERE e_salary BETWEEN 800 and 2500;
#10. 在employee表中,查询到目前为止,工龄大于等于10年的员工信息。 (30分)
SELECT * FROM employee WHERE year(DATE(NOW()))-year(hireDate)>=10 ORDER BY hireDate DESC;
3、html课件
查询select基础
(1)一般查询
select  *  from  表名;
(2)查询指定列
select  id,  name  from  表名;
(3)使用别名查询
select  id  as  序号,  name  as  姓名   from  表名;
或者:as可以省略,空格代替
select  id  序号,  name  姓名   from  表名;
查询的完整格式
SELECT select_expr [,select|_expr,...] [     
FROM tb_name
[WHERE 条件判断]
[GROUP BY {col_name | postion} [ASC | DESC], ...]
[HAVING WHERE 条件判断]
[ORDER BY {col_name|expr|postion} [ASC | DESC], ...]
[ LIMIT {[offset,]rowcount | row_count OFFSET offset}]
]
1 、查询select进阶
(一)select  字段
字段前加表名前缀:student.id   student.name
字段as别名:name  as  姓名 (as可以省略,空格即可)
字段使用聚合函数:
为了快速得到统计数据,经常会用到如下5个聚合函数(属于mysql内置函数)
count(*):select  count(*)      查询记录条数
max(age):select  max(age)  查询年龄最大值
min(age):select  min(age)   查询年龄最小值
sum(age):select  sum(age)  查询年龄总和
avg(age):select  avg(age)    查询年龄平均值
注意:使用聚合函数时,字段名如果为关键字时,一定要加表名,如:hero.kill
其他常见mysql内置函数:
select concat(12,34,'ab');    拼接字符串concat(str1,str2...)
left(str,len)       截取字符串返回字符串str的左端len个字符,一个汉字为一个。如:left(name,1)    截取姓。
select floor(2.3);       地板floor(n),表示不大于n的最大整数
select ceiling(2.3);     天花板ceiling(n),表示不小于n的最大整数
select round(1.6);     求四舍五入值round(n,d),n表示原数,d表示小数位置,默认为0。如:select round(1.6666,2)  保留两位小数。格式化输出。
(二)from  表
多表查询:from  student,teacher
多表别名:from  student  as  s, teacher  as  t  (as可以省略,空格即可)
(三)where  条件
where后面支持多种运算符,进行条件的处理
比较运算符:id>10   id=10   id !=10 
逻辑运算符:id>10   and   age=18    |   age  not  in(6,  12)  |  or
模糊查询:name  like  “ 张%”   |    name  like  “张_ _”
%表示任意多个任意字符
_表示一个任意字符
范围查询:
in 表示在一个非连续的范围内
例10:查询编号是1或3或8的学生
select * from students where id in(1,3,8);
between ... and ...表示在一个连续的范围内
例11:查询编号为3至8的学生
select * from students where id between 3 and 8;
空判断is null: age  is  null (必须用is来判空,=等号会不会报错,但是查不到null。)
优先级
(1)优先级由高到低的顺序为:小括号,not,比较运算符,逻辑运算符。
(2)and比or先运算,如果同时出现并希望先算or,需要结合()使用。
(四)order by排序:只能按照整数值排序(注意:order by只能放在where的后面)
order  by  age    (升序,正序)
order  by  age  desc   (降序,倒序)
order  by  age,  height  (先按照年龄,后按照升高排序。)
(五)limit分页:限制记录条数
limit  3   相当于limit  0,  3
limit  21,  10   取初次查询结果中,选取第21条开始,取10条记录。
注意:limit  start,count中,start是从0开始计数的。
(六)group分组:按照某个字段分组后,就只能显示那一列了,还能显示统计数据。
分组已经不能再用where了,如果要使用条件,就用having。
小结:
group by  配 having
from     配 where
join      配 on
select  gender          from  students  group  by  gender;
select  gender, count(*)  from  students  group  by  gender;
select  gender, count(*)  from  students  group  by  gender  having  gender = 1;

转载于:https://www.cnblogs.com/andy9468/p/8988438.html

mysql复习-来源考试相关推荐

  1. 计算机二级mysql工具_2020年全国计算机二级MySQL复习知识点:优化工具

    [摘要] 即将参加全国计算机等级考试的考生们,考试即将到来,大家的备考工作进行得如何了?考必过为大家精心整理了2020年全国计算机二级MySQL复习知识点:优化工具,希望能够助力全国计算机等级考试,相 ...

  2. 全国二级 mysql有用_2020年全国计算机二级MySQL复习知识点:调整服务器

    [摘要] 即将参加全国计算机等级考试的考生们,考试即将到来,大家的备考工作进行得如何了?考必过为大家精心整理了2020年全国计算机二级MySQL复习知识点:调整服务器,希望能够助力全国计算机等级考试, ...

  3. 传感器与检测技术基础 复习提纲 考试不挂科专用版

    传感器与检测技术基础 复习提纲 考试不挂科专用版 题型: 选择题 判断题 问答题 计算题 复习要点 1. 了解传感器定义.组成及分类. 定义:传感器是一中以一定精度把测量(主要是非电量)转换与之有确定 ...

  4. 【MySQL附录】A6:MySQL OCP 认证考试最详细最准确报考流程(2020年)

    Oracle将MySQL纳入旗下后,也参照Oracle数据库,推出针对MySQL的OCP认证(目前MySQL没有OCM级别). MySQL8.0软件在2018年4正式发布后,终于在2020年1月底,O ...

  5. 《CCNA安全640-554认证考试指南》——6.4节复习所有考试要点

    本节书摘来自异步社区<CCNA安全640-554认证考试指南>一书中的第6章,第6.4节复习所有考试要点,作者 [美]Keith Barker , Scott Morris,更多章节内容可 ...

  6. MySQL复习值代码知识点(1)

    MySQL复习值代码知识点 一. 创建数据库 create database 数据库名: 二. 删除数据库 drop database 数据库名: 三. 选择相应的数据库 use 数据库名: 四. 创 ...

  7. php mysql英语在线考试系统+论文

    php mysql英语在线考试系统,分学生和管理员两个角色,普通考生输入准考证进入考试,可以查看自己信息,可以选择答A卷B卷,提交可以查看自己的分数,可以退出考试后台:管理员登录.添加.修改.删除会员 ...

  8. 计算机怎么学要记笔记,留法十全大补汤 | 学姐告诉你在法国上课如何记笔记,复习,考试!...

    原标题:留法十全大补汤 | 学姐告诉你在法国上课如何记笔记,复习,考试! ▣开学有一段时间啦,各位同学上课感觉怎么样?是不是已经开始在票圈嗷嗷吐槽法国人上课的节奏了? 学姐作为过来人,今天就跟大家分享 ...

  9. 二级MySQL数据库程序设计考试大纲(2015年版)

    全国计算机等级考试二级MySQL 数据库 程序设计考试大纲(2015 年版) 转自: 全国计算机等级考试,免费视频教程,永久免费,二级Office,二级C语言  基本要求 1. 掌握数据库的基本概念和 ...

  10. 基于PHP+MySQL+Apache在线考试管理系统(附源码)

    作者:BSXY_陈永跃 BSXY_信息学院 注:未经允许禁止转发任何内容 基于PHP+MySQL+Apache在线考试管理系统 项目体验 1.前言 1.1.编写目的 1.2.项目需求 1.3.项目环境 ...

最新文章

  1. WebSocket的C++服务器端实现
  2. DNS support edns-client-subnet
  3. Arthas简单入门与初步实践
  4. 里程碑式突破!我国量子计算原型机“九章”问世
  5. 48条高效率的PHP优化写法
  6. springboot指定属性返回_Spring Boot 最最最常用的注解梳理
  7. WinAPI 字符及字符串函数(13): lstrcmp、lstrcmpi - 对比串
  8. steam授权_号商福利,Steam验号机器人上线,再也不用手动验号了
  9. 使用bootstrap打造卡片个人简历
  10. 华为一员工猝死出租屋 警方初步排除他杀
  11. WPS Excel+windows批处理批量重排序文件夹
  12. C#将自定义的时间字符串直接转换为UTC世界协调时间
  13. 深扒联易融招股书:毛利率高、研发占比低,近三年合计亏约30亿
  14. 从你的全世界路过(张嘉佳)
  15. windows输入法只有中文导致无法使用一系列快捷键问题
  16. 修改人人商城服务器时间,修改收货地址 · 人人商城二次开发常用文档,超详细,微擎开发微擎二次开发【持续更新】 · 看云...
  17. 【VRRP】来给你的网关加一个备份吧
  18. 文本相关_SAP刘梦_新浪博客
  19. canopen研发记录
  20. 两地三中心是什么意思

热门文章

  1. 易网客商业wifi拯救流量困境
  2. [系统] 电脑突然变卡 / 电脑突然** / 各种突发情况解决思路
  3. 【字符串处理、枚举T10】肥宅快乐串
  4. 2021年起重机械指挥复审考试及起重机械指挥考试申请表
  5. 基于Springboot网络空间安全实验教学示范中心网站 毕业设计-附源码111454
  6. GPIO子系统---(1)应用下操作gpio
  7. 【文献阅读】播存网络体系结构普适模型及实现模式
  8. 对不起,大模型不会改变世界
  9. MongoDB数据库 —— 图形化工具
  10. IGM病毒详情及完全解决方案