数据库(MySQL)-基础查询
引入数据库
-
数据库的相关概念
• 数据库的好处: 1.实现数据持久化 2.使用完整的管理系统统一管理,易于查询。 1). DB:数据库(database):存储数据的“仓库”,它保存了一系列有组织的数据。 2). DBMS:数据库管理系统(Database Management System)。数据库是通过DBMS创建和操作的容器。 常见的DBMS:MySQL、Oracle、DB2、SqlServer等。 3). SQL:结构化查询语言(Structure Query Language):专门用来与数据库通信的语言。 特点:▪ 不是某个特定数据库供应商专有的语言,几乎所有DBMS都支持SQL。 ▪ 简单易学 ▪ 虽然简单,但实际上是一种强有力的语言,灵活使用其语言元 素,可以进行非常复杂和高级的数据库操作。
-
数据库存储数据的特点
1). 将数据放到表中,表再放到库中。 2). 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。 3). 表具有一些特性,这些特性定义了数据在表中如何存储,类似java中“类”的设计。 4). 表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似java中的属性。 5). 表中的数据是按行存储的,每一行类似于java中的“对象”。
-
MySQL的启动
1). 首先启动服务 : net start mysql ,关闭是:net stop mysql 2). mysql -h localhost -P 3306 -u root -p123456 来启动mysql。 简写为:mysql -u root -p123456
-
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
-
MySQL的语法规范
1). 不区分大小写,但建议关键字大写,表名、列名小写。 2). 每条命令最好用分号结尾。 3). 每条命令根据需要,可以进行缩进或换行。 4). 注释: 单行注释: #注释文字 单行注释: -- 注释文字 //要在--后边加空格。 多行注释: /* */
DQL查询语言-基础查询
• 语法: select 查询列表 from 表名;
特点:
1. 查询列表可以是表中的字段、常量值、表达式、函数。
2. 查询的结果是一个虚拟的表格
USE myemployees;
#1.查询表中的单个字段
SELECT last_name FROM employees;
#2.查询表中的多个字段
SELECT `last_name`,`email` FROM `employees`; //字段名上边的着重号便于标识
#3.查询表中的所有字段
SELECT * FROM employees;
#4.查询常量值
SELECT 100;
SELECT 'john'; #不区分字符或字符串
#5.查询表达式
SELECT 100%98;
#6.查询函数
SELECT VERSION();
#7.起别名
/*
1.便于理解
2.如果要查询的字段有重名的情况,使用别名可以区分开来。
*/
#方式一:使用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 'out put' FROM employees
#8.去重
#案例:查询员工表中涉及到的所有部门编号
SELECT DISTINCT department_id FROM employees;
#9.+号的作用
/*
java中的+号:
a、运算符,两个操作数都为数值型
b、连接符,只要有一个操作数为字符串
mysql中的+号:
仅仅只有一个功能:运算符
select 100+90; 两个操作数都为数值型,则做加法运算
select '123'+90; 其中乙方为字符型,试图将字符型数值转换成数值型
如果转换成功,则继续做加法运算。
如果转换失败,则将字符型数值转换成0.
select 'john'+90;
select null+90; 只要其中一方为null,则结果为null。
*/
#案例:查询员工名和姓连接成一个字段,并显示为姓名(使用concat实现连接)
SELECT CONCAT(last_name,first_name) 姓名 FROM employees;
#10.IFNULL的使用
SELECT
IFNULL(`commission_pct`,0) AS 奖金率,
`commission_pct`
FROM
employees;