MYSQL笔记

一.数据库起点概述 *

1.1 数据库

数据库(DB)DataBase,按照一定格式存储数据的一些文件组合。

通俗来讲就是存储数据的仓库,就是一堆文件,文件中存储具有特定格式的数据。

1.1.1 数据库当中基本的单元

表(table)

1.2 数据库管理系统

数据库管理系统(DBMS)DataBaseManagement,它是专门用来管理数据库中的数据,他可以对数据库中的数据进行增删改查。

1.2.1常见的数据管理系统

MySQL,Oracle,MS Sqlsever,DB2等等,

1.2.2 DBA

数据管理员(DBA) databaseadministrator

1.3 SQL结构化查询语句

SQL 结构化查询语句

SQL语句是一套标准通用的语句,可以在MySql中使用,也可以在Oracle,DB2这些DBMS中使用。

程序员通过学会SQL语句并将其编写,然后DBMS执行SQL语句完成所要求的增删改查的目的操作。

1.4 DB DBMS SQL三者关系

DBMS---执行---->SQL---操作---->DB

//由例如MySql(数据库管理系统)把程序员的SQL命令执行进完成对DB的数据管理。

2.1 MySql服务

通过:

此电脑 --- (右键)管理 --- 服务与应用程序 --- 应用 即可找出

​​

默认情况都是自动

3.1 表

3.1.1表格

姓名 性别 年龄(列:字段)

——————————————

张三 男 20 ------------>行(记录)

李四 女 21 ------------>行(记录)

3.1.2 行,列

行(row):被称为数据/记录

列(column):被称为字段

3.1.3 字段

字段具有字段名(可以看做是名字),数据类型,约束等属性。

3.1.4 数据类型

数据类型:字符串(单引号中的字符串被称为数据),数字,日期

3.2 表格

数据库当中是以表格的形式表示数据,因为其直观性。

4.1 关于SQL语句分类

DQL、DML、DDL、TCL、DCL

4.1.1 DQL

DQL:数据查询语言(带有select关键字的都是查询语句)

select.....

4.1.2 DML

DML:数据操作语言(只要是对表增删改的都是DML的语句)

//主要是操作表中数据(data)

insert 增

delete 删

update 改

4.1.3 DDL

DDL:数据定义语言 (只要是对于表结构更改的就是DDL的语言)

//记住不是表中数据而是改变表的结构

create 新建,等同于增

alther 修改

drop 删除

4.1.4 TCL

TCL:事务控制语言

commit 事务提交

rollback 事务回滚

4.1.5 DCL

DCL:数据控制语言

grant 授权

revoke 撤销授权

. . .

二.命令

注意事项:命令大小写都不会影响!!!

注意事项:符号都是英文符号!!!

命令提示符打开:使用windows键,然后输入cmd打开即可。

1 启动,关闭mysql命令

net stop 服务名称; //关闭服务

net start 服务名称; //启动服务

2 登录MySQL命令

mysql -uroot -p密码; //显示密码的登录

mysql -uroot -p; //不显示密码的登录

3 退出mysql命令

exit //退出mysql

4 查看命令

4.1.1查看mysql中的表

/show databases; //查看mysql中的表

4.1.2查看某个数据库下有哪些表

show tables;

5 使用某个数据库

use 表名; //也可以说是进入它这个表里面

6 创建数据库

create database 表名;

6.1 删除数据库

drop database 表名

7 导入数据

source 文件路径

//路径中不能有中文!

8 select 查询命令

注意:select不会进行对数据的修改它只是进行查询!!!

8.1 查看表中数据

select * from 表名; //统一执行这个语句

8.2 只查看表结构

desc 表名;

8.3 查看版本号

select version();

8.4 查看使用的数据库

select database();

8.5 select报错原因

select abc from 表名为什么会报错?

//如果表中没有这个字段一样会把abc 当成一个字段的名字,去表中找这个字段。没有就会报错

8.6 select后面直接跟"字面量/字面值"

会借助这个表结构生成这个字面量/字面值。例如14条记录生成14个字面量/字面值

例如: select 1000或者'abc'

就只会让表全部输出1000或者abc

9 终止命令

有两种写法:

1.\c

  1. ;

//记住命令需要最后有终止命令否则不会停止

三.简单查询

1. 查询字段

select 字段 from 表名;

//可以注意 select和from都是关键字,而字段名和表名都是标识符。

1.1 查询多个字段

select 字段1,字段2 from 表名; //总的来说就是用逗号隔开

1.2 查询全部字段

第一种:直接像查询多个字段一样将字段全写上去

第二种:运用"*"代表全部的数据方法的方式直接套用select语句:

select * from 表名;

//第二种方法缺点:1.效率低

2.可读性差

其一般适用于迅速浏览表格

1.3 查询某个特定名称的信息

select 字段 from 表名 where 字段='特定名称';

2. 给列起别名

2.1 给查询的列起别名

关键字:as(其可以省略)

select 字段 as 想改的字段名字 from 表名; //只是改目前显示的名字,原表的并没有改变

// 注意想改的字段内有空格的话应当用单引号括起来

2.2 当想要起别名的字段有空格、中文时

select 字段名 as '有空格字段名' from 表名; //单引号(标准优先进行)

select 字段名 as "有空格字段名" from 表名; //双引号

//记住双引号在oracle数据库中用不了,但可以在mysql中使用

3. 列参与数学运算

3.1 计算数据使用数字表达式

例如: 运用乘法

select 字段*12 from 表名;

四. 条件查询

//接下来未来方便演示将给几个条件进行语句的书写

员工表:emp 、员工名字:ename、员工编号:empno、薪资:sal、津贴:comm、工作岗位:job、部门编号:deptno、部门表:dept

1. 什么是条件查询

并非查询所有数据,而是筛选其中符合条件的数据

1.1 语法格式

select

字段1,字段2.....

from

表名;

where

条件;

2. 等于条件 =

例子:查询薪资等于800的员工姓名和编号?

select empno,ename from emp where sal=800;

3. 不等于条件 <>或者 !=

例子:查询薪资不等于800的员工姓名和编号?

第一种 select empno,ename from emp where sal !=800;

第二种 select empno,ename from emp where sal <>800;

4. 小于条件 <

例子:查询薪资小于2000的员工姓名和编号?

select empno,ename from emp where sal<2000;

5. 大于条件 >

例子:查询薪资大于3000的员工姓名和编号?

select empno,ename from emp where sal>3000;

6. 小于大于等于条件 <=或者>=

例子:查询薪资大于等于或者小于等于5000的员工姓名和编号?

select empno,ename from emp where sal<=5000; //小于等于

select empno,ename from emp where sal>=5000; //大于等于

7. 两个值之间 条件 between...and...

//其等同于>= and <=(and是并且的意思)

例子:查询薪资在2500以及4000的员工姓名和编号?

select empno,ename from emp where sal between 2500 and 4000;

//记得运用between...and需要遵循左小右大

8. 空 条件 null(is not null 不为空)

null代表是无也就是什么都没有而不是0

例子:查询哪些员工的津贴为null(空)?

select empno,ename, sal,comm from emp where comm is null;

8.1 null的特殊性

在数据库中null不能用等号(=)进行衡量,要用到is null

因为null代表什么都没有,它不是数值不能用等号去衡量

8.2 null运算的特殊性

在所有数据库中,只要有NULL参与的数学运算,最终结果就是NULL

9. 并且条件 and

例子:查询工作岗位是"doctor"并且工资大于2500的员工?

select

job

from

emp

where

job='doctor' and sal>2500;

9.1 and优先级问题

and的优先级比or的高

当and与or两者同时出现的话会优先处理and,然后处理or

需要or先执行可以使用"小括号"括住。

例子:找出工资大于2500以及部门是10或者是20的员工

select

*

from

emp

where

sal>2500 and (deptno=10 or deptno=20);

10. 或者条件 or

例子:查询工作岗位是doctor和driver的员工

select

empno,ename,job

from

emp

where

job='doctor' or 'driver';

10.1 or优先级

and与or之间and优先但是如果需要or先开始可以使用"小括号"括住这样就可以让它先执行。

11. 包含关系 in(相当于多个or 但是not in不在这个范围里面)

in不是一个区间需要在后面跟上具体值。

例子:查询工作岗位是doctor和driver的员工?

select

job,ename,empno

from

emp

where

job in('doctor', 'driver');

11.1 not in 表示不取这几个值

12.取非关系 not

其关系主要运用于 is 或者 in 之间

is null

is not null

in

not in

五.模糊查询

1.like 命令

被称为模糊查询,支持%或者下划线_匹配

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值