栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据库MySQL技术基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据库MySQL技术基础

文章目录
  • 前言
  • 一、数据库的概念
  • 二、数据库管理系统(DBMS)--MySQL
    • 1.MySQL5.5下载安装
    • 2.启动和停止&登录和退出
    • 3.MySQL的常用命令
    • 4.图形化用户界面客户端的安装
  • 三、SQL语言
    • 1.SQL语言的分类
    • 2.查询语句之基础查询
    • 3.查询语句之条件查询
    • 4.查询语言之排序查询
  • 总结


前言

数据库技术是Java工程师必备的技能,本篇从MySQL软件讲起,初步介绍数据库、数据库管理系统的概念,以及SQL语言的基础应用。


一、数据库的概念 1.DB

数据库(database):存储数据的“仓库”。它保存了一系列有组织的数据。

2.DBMS

数据库管理系统(Database Management System)。数据库是通过DBMS创建和操作的容器
DBMS分为两类:
– 基于共享文件系统的DBMS (Access )
– 基于客户机——服务器的DBMS(MySQL、Oracle、SqlServer)

3.SQL

结构化查询语言(Structure Query Language):专门用来与数据库通信的语言,不是某个特定数据库供应商专有的语言,几乎所有DBMS都支持SQL

二、数据库管理系统(DBMS)–MySQL

1.MySQL5.5下载安装

官网:https://downloads.mysql.com/archives/community/

MSI版本为安装版,选择适合自己电脑位数的版本

2.启动和停止&登录和退出

MySQL服务的启动和停止

方式一:计算机——右击管理——服务

方式二(推荐):通过管理员身份运行cmd(命令提示符)
net start 服务名(启动服务)
net stop 服务名(停止服务)

MySQL服务的登录和退出

方式一:通过mysql自带的客户端,但只限于root用户

方式二:通过管理员身份运行cmd(命令提示符)
登录:
mysql 【-h主机名 -P端口号 】-u用户名 -p密码
【-h主机名 -P端口号】 可以省略
退出:
exit或ctrl+C

3.MySQL的常用命令

1.查看当前所有的数据库
show databases;
2.打开指定的库
use 库名
3.查看当前库的所有表
show tables;
4.查看其它库的所有表
show tables from 库名;
5.创建表
create table 表名(
列名 列类型,
列名 列类型,
。。。
);
6.查看表结构
desc 表名;
7.查看服务器的版本
方式一:登录到mysql服务端
select version();
方式二:没有登录到mysql服务端
mysql --version

mysql --V

4.图形化用户界面客户端的安装

SQLyog-10.0.0.0安装包及破解码见博主空间

myemployees库中的四个表

三、SQL语言 1.SQL语言的分类

DQL(Data Query Language):数据查询语言
select

DML(Data Manipulate Language):数据操作语言
insert 、update、delete

DDL(Data Define Languge):数据定义语言
create、drop、alter

TCL(Transaction Control Language):事务控制语言
commit、rollback

2.查询语句之基础查询
#进阶1:基础查询


USE myemployees;

#1.查询表中的单个字段

SELECT last_name FROM employees;

#2.查询表中的多个字段
SELECt last_name,salary,email FROM employees;

#3.查询表中的所有字段

#方式一:
SELECt 
    `employee_id`,
    `first_name`,
    `last_name`,
    `phone_number`,
    `last_name`,
    `job_id`,
    `phone_number`,
    `job_id`,
    `salary`,
    `commission_pct`,
    `manager_id`,
    `department_id`,
    `hiredate` 
FROM
    employees ;
#方式二:  
 SELECt * FROM employees;
 
 #4.查询常量值
 SELECt 100;
 SELECT 'john';
 
 #5.查询表达式
 SELECT 100%98;
 
 #6.查询函数
 
 SELECT VERSION();
 
 
 #7.起别名
 
 #方式一:使用as
SELECT 100%98 AS 结果;
SELECT last_name AS 姓,first_name AS 名 FROM employees;

#方式二:使用空格
SELECt last_name 姓,first_name 名 FROM employees;


#案例:查询salary,显示结果为 out put
SELECt salary AS "out put" FROM employees;


#8.去重


#案例:查询员工表中涉及到的所有的部门编号
SELECt DISTINCT department_id FROM employees;


#9.+号的作用



#案例:查询员工名和姓连接成一个字段,并显示为 姓名


SELECt CONCAT('a','b','c') AS 结果;

SELECT 
	CONCAT(last_name,first_name) AS 姓名
FROM
	employees;
	
3.查询语句之条件查询
#进阶2:条件查询

#一、按条件表达式筛选

#案例1:查询工资>12000的员工信息

SELECt 
	*
FROM
	employees
WHERe
	salary>12000;
	
	
#案例2:查询部门编号不等于90号的员工名和部门编号
SELECt 
	last_name,
	department_id
FROM
	employees
WHERe
	department_id<>90;


#二、按逻辑表达式筛选

#案例1:查询工资z在10000到20000之间的员工名、工资以及奖金
SELECt
	last_name,
	salary,
	commission_pct
FROM
	employees
WHERe
	salary>=10000 AND salary<=20000;
#案例2:查询部门编号不是在90到110之间,或者工资高于15000的员工信息
SELECt
	*
FROM
	employees
WHERe
	NOT(department_id>=90 AND  department_id<=110) OR salary>15000;
#三、模糊查询

#1.like



#案例1:查询员工编号在100到120之间的员工信息

SELECt
	*
FROM
	employees
WHERe
	employee_id >= 120 AND employee_id<=100;
#----------------------
SELECt
	*
FROM
	employees
WHERe
	employee_id BETWEEN 120 AND 100;

#3.in

#案例:查询员工的工种编号是 IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号

SELECt
	last_name,
	job_id
FROM
	employees
WHERe
	job_id = 'IT_PROT' OR job_id = 'AD_VP' OR JOB_ID ='AD_PRES';


#------------------

SELECt
	last_name,
	job_id
FROM
	employees
WHERe
	job_id IN( 'IT_PROT' ,'AD_VP','AD_PRES');

#4、is null


#案例1:查询没有奖金的员工名和奖金率
SELECt
	last_name,
	commission_pct
FROM
	employees
WHERe
	commission_pct IS NULL;


#案例1:查询有奖金的员工名和奖金率
SELECt
	last_name,
	commission_pct
FROM
	employees
WHERe
	commission_pct IS NOT NULL;

#----------以下为×
SELECt
	last_name,
	commission_pct
FROM
	employees

WHERe 
	salary IS 12000;
	
	
#安全等于  <=>


#案例1:查询没有奖金的员工名和奖金率
SELECt
	last_name,
	commission_pct
FROM
	employees
WHERe
	commission_pct <=>NULL;
	
	
#案例2:查询工资为12000的员工信息
SELECt
	last_name,
	salary
FROM
	employees

WHERe 
	salary <=> 12000;
	

#is null pk <=>

IS NULL:仅仅可以判断NULL值,可读性较高,建议使用
<=>    :既可以判断NULL值,又可以判断普通的数值,可读性较低

4.查询语言之排序查询
#进阶3:排序查询


#1、按单个字段排序
SELECt * FROM employees ORDER BY salary DESC;

#2、添加筛选条件再排序

#案例:查询部门编号>=90的员工信息,并按员工编号降序

SELECt *
FROM employees
WHERe department_id>=90
ORDER BY employee_id DESC;


#3、按表达式排序
#案例:查询员工信息 按年薪降序


SELECt *,salary*12*(1+IFNULL(commission_pct,0))
FROM employees
ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;


#4、按别名排序
#案例:查询员工信息 按年薪升序

SELECt *,salary*12*(1+IFNULL(commission_pct,0)) 年薪
FROM employees
ORDER BY 年薪 ASC;

#5、按函数排序
#案例:查询员工名,并且按名字的长度降序

SELECt LENGTH(last_name),last_name 
FROM employees
ORDER BY LENGTH(last_name) DESC;

#6、按多个字段排序

#案例:查询员工信息,要求先按工资降序,再按employee_id升序
SELECt *
FROM employees
ORDER BY salary DESC,employee_id ASC;

总结

本篇是学习数据库的开篇之作,主要涉及SQL查询语言的应用。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/298902.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号