数据库学习笔记(1)

数据库学习笔记(1),第1张

数据库学习笔记(1)

目录

一、数据库基本概述

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值,也可以判断普通的数值,可读性比较差;

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5636726.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存