参考资料:

准备软件:mysql-5.5.13-win32.msi、MySQL安装图解.doc、Navicat_for_MySQL_10.0.5.0_XiaZaiBa.exe、mysqldriver.jar、eclipse

MySQL基本操作

登陆:mysql -u 用户名 -p 密码

显示数据库:show databases;

使用数据库:use 数据库名;

显示所有表:show tables;

新建数据库:create database 数据库名;

建新表:

create table student1(

id int not null auto_increment primary key,

name varchar(10),

age int(2),

sex varchar(5) default 'man'

);

显示建表信息:desc 表名;

删除数据库:drop database 数据库名;

删除表:drop table 表名;

增加字段:alter table 表名 add 字段名 类型;

删除字段:alter table 表名 drop 字段名;

查看字段:desc 表名;

修改字段:alter table 表名 change 字段名 新字段名 新数据类型;

显示表的编码:show create table 表名;

修改表的编码:alter table 表名 default charset utf8;

MySQL字段查询

查询所有: select * from 表名;

分页查询: select 字段 from 表名 limit 从第几条开始,页长;

条件查询:

select 字段 from 表名 where 条件;

select 字段 from 表名 where 数据 between 最小值 and 最大值;

模糊查询:   %:零个或多个字符    _ : 一个任意字符

select * from employee where first_name like '%jack%';

in 子语:select * from employee where emp_no in (10010,10200,10205);

count()函数:  max();  min();   avg();   sum();

order by 排序:  asc 升序,desc降序

分组函数: group by

MySQL多表查询

左右连接:select * from t1 right join t2 on t1.id=t2.id;

内连接: select * from t1,t2 where t1.id = t2.id;

外连接:

select * from t1 full join t2;--数据交叉相乘

select * from t1,t2;

习题

#1、查出男员工的人数

SELECT COUNT(*) FROM employees WHERE gender='M';

#2、查出1998年8月1号——10号入职的员工,升序排列。

SELECT * FROM employees WHERE

employees.hire_date BETWEEN '1998-08-01' AND '1998-08-10'

ORDER BY

employees.hire_date ASC

#3、查出最高工资员工名字及所在部门

SELECT employees.emp_no,employees.first_name,employees.last_name,departments.dept_name,salaries.salary

FROM dept_emp,employees,departments,salaries WHERE salaries.salary=(

SELECT MAX(salary)FROM salaries

)AND dept_emp.emp_no=salaries.emp_no AND employees.emp_no=salaries.emp_no AND departments.dept_no=dept_emp.dept_no

#4、查找各部门经理的员工id、名字、部门

SELECT employees.emp_no,employees.first_name,employees.last_name,departments.dept_name

FROM employees,departments,dept_manager WHERE

departments.dept_no=dept_manager.dept_no AND employees.emp_no=dept_manager.emp_no

AND EXISTS(SELECT emp_no FROM dept_manager WHERE EXISTS(SELECT * FROM employees.departments))

#5、找最早入职的员工

SELECT * FROM employees.employees WHERE employees.employees.hire_date=(

SELECT MIN(employees.employees.hire_date) FROM employees.employees)

#6、找出工资最高的部门经理

SELECT employees.emp_no,employees.first_name,employees.last_name,departments.dept_name,salaries.salary

FROM dept_manager,employees,departments,salaries WHERE salaries.salary=(

SELECT MAX(salaries.salary)

FROM employees,departments,dept_manager,salaries WHERE

departments.dept_no=dept_manager.dept_no AND employees.emp_no=dept_manager.emp_no AND salaries.emp_no=dept_manager.emp_no

AND EXISTS(SELECT emp_no FROM dept_manager WHERE EXISTS(SELECT * FROM employees.departments))

)AND dept_manager.emp_no=salaries.emp_no AND employees.emp_no=salaries.emp_no AND departments.dept_no=dept_manager.dept_no

#SQL查询作业@2018-2-8 16:04:52

#10、统计各岗位女员工数(F代表女性)

SELECT departments.dept_name,COUNT(employees.gender) FROM departments,employees,dept_emp

WHERE departments.dept_no=dept_emp.dept_no AND employees.emp_no=dept_emp.emp_no

AND EXISTS(SELECT *FROM employees WHERE gender='F')

GROUP BY departments.dept_name

#12、员工平均工资最高的部门

SELECT departments.dept_name,AVG(salaries.salary) FROM departments,employees,dept_emp,salaries

WHERE departments.dept_no=dept_emp.dept_no AND employees.emp_no=dept_emp.emp_no AND salaries.emp_no=employees.emp_no

GROUP BY departments.dept_name ORDER BY AVG(salaries.salary) DESC LIMIT 1

#13、找出除销售之外的所有员工

SELECT * FROM employees,dept_emp,departments WHERE dept_name!='Sales' AND departments.dept_no=dept_emp.dept_no AND

dept_emp.emp_no=employees.emp_no

基于mysql数据库的应用_MySQL数据库应用相关推荐

  1. RadonDB - 基于MySQL的云原始分布式数据库,用于构建全局的,可扩展的云服务

    RadonDB是开源的云原生MySQL数据库,用于构建全局的,可扩展的云服务 概观 RadonDB是一个开源的,云原生的MySQL数据库,可实现无限的可扩展性和性能. 什么是RadonDB? Rado ...

  2. 2.mysql数据库如何安装_MySQL数据库如何安装

    MySQL数据库如何安装 时间:2019-06-17 13:50:14  来源:  作者: 伙伴们,这两年软件测试异常火爆,90%以上的软件都需要操作数据,比如游戏.社交.新闻.商城.财务等,这些软件 ...

  3. mysql数据库高可用_MySQL数据库高可用

    一.MySQL+MyCat分库分表 1 MyCat简介 java编写的数据库中间件 Mycat运行环境需要JDK. Mycat是中间件.运行在代码应用和MySQL数据库之间的应用. 前身 : corb ...

  4. mysql试题百度云_MySQL数据库无完整备份删库,除了跑路还能怎么办?

    1.背景 前段时间,由于运维同事的一次误操作,清空了内网核心数据库,导致了公司内部管理系统长时间不可用,大量知识库内容由于没有备份险些丢失. 结合这两天微盟的删库跑路事件,我们可以看到,数据库的备份与 ...

  5. mysql数据库咋还原_mysql数据库备份和还原

    一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...

  6. mysql innodb文件存储_MySQL数据库和InnoDB存储引擎文件

    参数文件 当MySQL示例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等.在默认情况下,MySQL实例会按照一定 ...

  7. mysql dba项目经验_MySQL数据库专家分享资深DBA经验

    数据库管理员DBA在我的印象中一直是一个比较高端的IT技术人员,比起其他的开发和网络系统管理员,DBA有时需要是名多面手.而在这一前提下,一些资深DBA的经验与建议将对DBA"菜鸟" ...

  8. mysql数据库 博客_mysql数据库教程--第 页-杨雨个人博客-关注互联网和搜索引擎的技术博客...

    发布时间:19-07-02 作者:杨雨 分类:mysql教程 Mysql主从基本原理,主要形式以及主从同步延迟原理 (读写分离)导致主库从库数据不一致问题的及解决方案.从数据库(Slave)是主数据库 ...

  9. mysql数据库端口链接_mysql数据库端口链接

    高校计划ESC7天训练营-PolarDB搭建门户网站 Day04打卡 创建PolarDB数据库账号 使用无痕模式登录子账号 左侧侧边栏-产品与服务-云数据库PolarDB,进入PolarDB管理器 点 ...

最新文章

  1. 我在MongoDB年终大会上获二等奖文章:由数据迁移至MongoDB导致的数据不一致问题及解决方案...
  2. 地图与定位之大头针视图
  3. 【GPS信号】GPS信号的读取以及kalman滤波预测
  4. rocketmq 消息 自定义_RocketMQ消息轨迹-设计篇
  5. mysql 组合索引 or_mysql索引优化实例(单列索引与组合索引)
  6. 有监督学习 —— KNN算法
  7. JSP页面是否需要重新编译--checkInterval
  8. Easeljs之regX/regY详解
  9. java 多线程:开两个线程,一个线程跑同步代码块,一个线程跑同步函数
  10. 2023南京财经大学计算机考研信息汇总
  11. 用html5写一个通用的网页模板,html5网站模板-html5的最好用的模板!
  12. Java下载服务器文件
  13. 虚幻引擎4崩溃?10个UE4崩溃解决方法来了
  14. 【数据结构课设】家谱管理系统(内附源码)
  15. 我用Java框架Guava解决了空指针异常问题
  16. 转载:技术大停滞——范式春梦中的地球工业文明2:科技利益集团鼓吹的范式春梦—所谓的技术大爆炸
  17. DNS用的是TCP协议还是UDP协议
  18. mpc高清设置超详细
  19. 删除win10自带微软中文输入法
  20. 在Ubuntu上部署ROS以及如何搭建工作空间和功能包的创建与编译

热门文章

  1. 彻底搞定C指针-函数名与函数指针[转]
  2. Hadoop 2.0.0-alpha尝鲜安装和hello world
  3. selenium webdirver之ruby-开发ide安装
  4. 轻量级HTTP服务器Nginx(安装篇)
  5. 软件性能测试与LoadRunner实战可以在网上和书店买到了
  6. 博主应邀参加YOCSEF虚拟化技术论坛
  7. EF Core 小技巧:迁移已经应用到数据库,如何进行迁移回退操作?
  8. 一图看懂 ASP.NET Core 中的服务生命周期
  9. 专业的软件安装包可以这样做!
  10. 程序员过关斩将--Http请求中如何保持状态?