基于mysql数据库的应用_MySQL数据库应用
参考资料:
准备软件: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数据库应用相关推荐
- RadonDB - 基于MySQL的云原始分布式数据库,用于构建全局的,可扩展的云服务
RadonDB是开源的云原生MySQL数据库,用于构建全局的,可扩展的云服务 概观 RadonDB是一个开源的,云原生的MySQL数据库,可实现无限的可扩展性和性能. 什么是RadonDB? Rado ...
- 2.mysql数据库如何安装_MySQL数据库如何安装
MySQL数据库如何安装 时间:2019-06-17 13:50:14 来源: 作者: 伙伴们,这两年软件测试异常火爆,90%以上的软件都需要操作数据,比如游戏.社交.新闻.商城.财务等,这些软件 ...
- mysql数据库高可用_MySQL数据库高可用
一.MySQL+MyCat分库分表 1 MyCat简介 java编写的数据库中间件 Mycat运行环境需要JDK. Mycat是中间件.运行在代码应用和MySQL数据库之间的应用. 前身 : corb ...
- mysql试题百度云_MySQL数据库无完整备份删库,除了跑路还能怎么办?
1.背景 前段时间,由于运维同事的一次误操作,清空了内网核心数据库,导致了公司内部管理系统长时间不可用,大量知识库内容由于没有备份险些丢失. 结合这两天微盟的删库跑路事件,我们可以看到,数据库的备份与 ...
- mysql数据库咋还原_mysql数据库备份和还原
一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...
- mysql innodb文件存储_MySQL数据库和InnoDB存储引擎文件
参数文件 当MySQL示例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等.在默认情况下,MySQL实例会按照一定 ...
- mysql dba项目经验_MySQL数据库专家分享资深DBA经验
数据库管理员DBA在我的印象中一直是一个比较高端的IT技术人员,比起其他的开发和网络系统管理员,DBA有时需要是名多面手.而在这一前提下,一些资深DBA的经验与建议将对DBA"菜鸟" ...
- mysql数据库 博客_mysql数据库教程--第 页-杨雨个人博客-关注互联网和搜索引擎的技术博客...
发布时间:19-07-02 作者:杨雨 分类:mysql教程 Mysql主从基本原理,主要形式以及主从同步延迟原理 (读写分离)导致主库从库数据不一致问题的及解决方案.从数据库(Slave)是主数据库 ...
- mysql数据库端口链接_mysql数据库端口链接
高校计划ESC7天训练营-PolarDB搭建门户网站 Day04打卡 创建PolarDB数据库账号 使用无痕模式登录子账号 左侧侧边栏-产品与服务-云数据库PolarDB,进入PolarDB管理器 点 ...
最新文章
- 我在MongoDB年终大会上获二等奖文章:由数据迁移至MongoDB导致的数据不一致问题及解决方案...
- 地图与定位之大头针视图
- 【GPS信号】GPS信号的读取以及kalman滤波预测
- rocketmq 消息 自定义_RocketMQ消息轨迹-设计篇
- mysql 组合索引 or_mysql索引优化实例(单列索引与组合索引)
- 有监督学习 —— KNN算法
- JSP页面是否需要重新编译--checkInterval
- Easeljs之regX/regY详解
- java 多线程:开两个线程,一个线程跑同步代码块,一个线程跑同步函数
- 2023南京财经大学计算机考研信息汇总
- 用html5写一个通用的网页模板,html5网站模板-html5的最好用的模板!
- Java下载服务器文件
- 虚幻引擎4崩溃?10个UE4崩溃解决方法来了
- 【数据结构课设】家谱管理系统(内附源码)
- 我用Java框架Guava解决了空指针异常问题
- 转载:技术大停滞——范式春梦中的地球工业文明2:科技利益集团鼓吹的范式春梦—所谓的技术大爆炸
- DNS用的是TCP协议还是UDP协议
- mpc高清设置超详细
- 删除win10自带微软中文输入法
- 在Ubuntu上部署ROS以及如何搭建工作空间和功能包的创建与编译