目录
一、数据库基本概述
1、数据库的好处
2、数据库的相关概念
3、数据库存储数据的特点
4、MySQL
5、MySQL服务的启动和终止
6、MySQL服务的登录和退出
7、MySQL的常见命令
8、mySQL的语法规范
二、DQL语言的学习
1、基础查询
2、基础查询 *** 作
3、条件查询
一、数据库基本概述 1、数据库的好处
>持久化数据到本地
>可以实现结构化查询,方便管理
2、数据库的相关概念>DB(database):数据库。存储数据的“仓库”,它保存了一系列有组织的数据。
>DBMS(Database Management System):数据库管理系统。数据库是通过DBMS创建和 *** 作的容器。
常见的数据库管理系统:MySQL、Oracle、DB2、SqlServer等
>SQL(Structure Query Language):结构化查询语言。专门用来与数据库通信的语言。
SQL的优点:
①不是某个特定数据库供应商专有的语言,几乎所有DBMS都支持SQL;
②简单易学;
③虽然简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库 *** 作。
3、数据库存储数据的特点①将数据放到表中,表再放到库中;
②一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性;
③表具有一些特性,这些特性定义了数据在表中如何存储,类似java中“类”的设计;
④表由列组成,我们也称为字段。所有表都是由一个或者多个列组成的,每一列类似java中的“属性”;
⑤表中的数据是按行存储的,每一行类似于java中的“对象”;
4、MySQL>优点:
①成本低:开放源代码,一般可以免费试用
②性能高:执行很快
③简单:很容易安装和使用
5、MySQL服务的启动和终止方式一:计算机---右击管理---服务
方式二:通过管理员身份运行
net start 服务名(启动服务)
net stop 服务名 (停止服务)
6、MySQL服务的登录和退出方式一:通过mysql自带的客户端(只限于root用户)
方式二:通过Windows自带的客户端
登录:
mysql 【-h主机名 -P端口号 】-u用户名 -p密码
退出:
exit或ctrl+c
7、MySQL的常见命令>查看当前所有数据库
show databases;
>打开指定的库
use 库名
>查看当前库的所有表
show tables;
>查看其它库的所有表
create table 表名(
列名 列类型,
列名 列类型,
...
);
>查看表结构
desc 表名;
>查看服务器的版本
①登录到mysql服务端
select version();
②没有登录到mysql服务端
mysql --version 或者 mysql --V
8、mySQL的语法规范①不区分大小写,但建议关键字大写,表名、列名小写
②每条命令最好用分号结尾
③每条命令根据需要,可以进行缩进或者换行
④注释
>单行注释:#注释文字
>单行注释:--注释文字
>多行注释:
二、DQL语言的学习 1、基础查询>语法:
SELECT 查询列表 FROM 表名;
>特点:
①查询列表可以是:表中的字段(属性名)、常量值、表达式、函数
②查询的结果是一个虚拟的表格
2、基础查询 *** 作①查询表中的单个字段
SELECt 字段1 FROM 表名
②查询表中的多个字段
SELECt 字段1,字段2 FROM 表名
③查询表中的所有字段
SELECt 字段1,字段2,字段3... FROM 表名
或者SELECt * FROM 表名;(显示原顺序字段)
④查询常量值
SELECt 100;
SELECT 'John';(不区分字符和字符串)
⑤查询表达式
SELECT 100%98;
⑥查询函数
SELECT function();
⑦起别名
方式一:使用AS
SELECT 100%98 AS 结果;
SELECT 字段 AS 别名;
方式二:使用空格
SELECT 字段 别名 FROM 表名;
>便于理解
>如果要查询的字段有重名的情况,使用别名可以区分开来
⑧去重
SELECt DISTINCT 字段 FROM 表名;
⑨+号的作用
>mysql的加号仅有一个功能:运算符
>如果其中一方为字符型,试图将字符型数值转换成数值型;
如果转换成功,则继续做加法运算;
如果转换失败,则将字符型数值转换成0;
只要一方为null,结果为null;
⑩mysql拼接
SELECt CONCAt('a','b','c') AS 结果;
3、条件查询>语法:
SELECT
查询列表
FROM
表名
WHERe
筛选条件;
>分类
①按条件表达式筛选
条件运算符:> < = != <> >= <=
案例:查询工资大于12000的员工信息
SELECt *
FROM employees
WHERe salary>12000;
②按逻辑表达式筛选
逻辑运算符: &&(and ) ||(or ) !( not )
作用:用于连接条件表达式
&&或and:两个条件都为true,结果为true,反之为false;
||或or:只要有一个条件为true,结果为true,反之为false;
!或not:如果连接的条件本身为false,结果为true,反之为false;
案例:查询工资在10000到20000之间的员工名、工资以及奖金
SELECt last_name,salary,commission_pot
FROM employees
WHERe salary>=10000 AND salary<=20000;
③模糊查询
>like :一般和通配符搭配使用。
通配符: % 任意多个字符,包含0个字符
_ 任意单个字符
案例1:查询员工名中包含字符a的员工
SELECt *
FROM employees
WHERe last_name LIKE '%a%';
案例2:查询员工名中第三个字符为e,第五个字符为a的员工名和工资
SELECt last_name,salary
FROM employees
WHERe last_name LIKE '__n_1%';
案例3:查询员工名中第二个字符为_的员工名
SELECt last_name
FROM employees
WHERe last_name LIKE '__%';
>between and :使用between and 可以提高语句的简洁度;包含临界值;两个临界值不要调换顺序;
案例1:查询员工编号在100到120之间的员工信息
SELECt *
FROM employees
WHERe employees_id>=100 AND employees<=120;
使用between and
SELECt *
FROM employees
WHERe employees_id BETWEEN 100 AND 120;
>in :判断某字段的值是否属于in列表中的某一项
特点:使用in提高语句简洁度;in列表的值类型必须一致或者兼容;
案例:查询员工的工种编号是IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号
SELECt last_name,job_id
FROM employees
WHERe job_id='IT_PROG' or job_id='AD_VP' or job_id='AD_PRES';
使用in:
SELECt last_name,job_id
FROM employees
WHERe job_id IN('IT_PROG'、'AD_VP'、'AD_PRES');
>is null:
=或者<>不能用于判断NULL值;
is null 或者 is not null 可以判断null值;
案例1:查询没有奖金的员工名和奖金率
SELECt last_name,commission_pot
FROM employees
WHERe commission_pot IS (NOT)NULL;(查询有奖金的)
>安全等于 <=>
案例1:查询没有奖金的员工名和奖金率
SELECt last_name,commission_pot
FROM employees
WHERe commission_pot <=>NULL;
案例2:查询工资等于12000的员工信息
SELECt last_name,salary
FROM employees
WHERe salary <=> 12000;
>is null和<=>的比较
is null 仅仅可以判断null值,可读性较高,建议使用;
<=>既可以判断null值,也可以判断普通的数值,可读性比较差;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)