只删除学科为数学的mysql_Mysql

0、数据库基础介绍

f9c2394ca75bc45cedd6f31dcffe6b1b.png

MySQL常用数据类型

a56da4f98ac5792c2b47a67bd7edf8ca.png

8c2d6453d7181522a5ddc74b56f6481e.png

数据库管理系统  DBMS(data base management system ),包括Oracle,mysql,SQLserver,MongoDB,db2等

数据库/仓库     DB

SQL       结构化查询语言

Mysql      一种数据库软件,使用sql语言管理数据

数据库中事务的四大特性(ACID):原子性(Atomicity);一致性(Consistency);隔离性(Isolation);⑷ 持久性(Durability)

SQL语句分类:

1、DQL:数据查询语句,select         (Data Query Language)

2、DML:数据操作语句,insert/delete/update  (Data Manipulation Language)

3、DDL:数据库定义语句,create/drop/alter    (Data Denifition Language)

4、TCL:事务控制语言,commit/rollback    (Trasactional Control Language)

5、DCL:  数据控制语言,grant ,revoke     (Data Control Language)

创建数据库:

create database bjpowernode;

导入数据库脚本

数据库脚本:以.sql后缀结尾的文件

导入数据库脚本:

1.    选定数据库

2.    source命令

mysql> use bjpowernode;

Database changed

mysql> source C:\Users\copywang\Desktop\bjpowernode.sql

数据库表的介绍:

mysql>show tables;

mysql>desc dept;

96088d4e6b75a696f492bb8bcee1eb8e.png

1、查询字段

select ename,sal,job from emp;

select * from emp;  不建议使用,效率比前一个方法要低,因为要把*转成所有具体字段

e61d509caeaaa189142eeb8ee3e9ddcd.png

2、进行数学运算,并对字段重命名

select ename,sal*12 as yearsal from emp;

7d47f14ddf1c7eca5ba426920e5579c6.png

3、条件查询

运算符

说明

=

等于

<>或!=

不等于

<

小于

<=

小于等于

>

大于

>=

大于等于

between … and ….

两个值之间,等同于 >= and <=

is null

为null(is not null 不为空)

and

并且

or

或者

in

包含,相当于多个or(not in不在这个范围中)

not

not可以取非,主要用在is 或in中

like

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

%匹配任意个字符

下划线,一个下划线只匹配一个字符

select ename,sal from emp where sal=5000;

MySQL支持自动类型转换,比如(但是其他数据库不支持,所以不要这么写):

select ename,sal from emp where sal='5000';

select job,ename from emp where job='MANAGER';

这里使用单引号是SQL的标准写法,MySQL也支持使用双引号,开发中只使用单引号

select ename,sal from emp where sal!=5000;

select job,ename from emp where job<>'MANAGER';

select ename,sal from empwhere sal>=1600;

select ename,sal from empwhere sal between 1600 and 3000;

select ename,sal from empwhere sal in (800,1600);

select ename,sal from empwhere job not in (‘MANAGER’,SALESMAN’);

select ename,comm fromemp where comm is null;

null不是数字,是空值,不能进行数学计算,因此不能用=号

select ename from empwhere ename like ‘%s%’;  包含s

select ename from empwhere ename like ‘s%’;   s开头

select ename from empwhere ename like ‘_d%’;   第二位为d

select ename from empwhere ename like ‘%n_’;   倒数第二位为n

4、排序

select ename,sal from emporder by sal;      默认asc升序

select ename,sal from emporder by sal desc;     降序

select deptno,ename,salfrom emp order by deptno,sal desc;       多字段排序:先按照deptno升序排列,deptno相同的记录按照sal降序排列

select job,ename,sal fromemp where job=’MANAGER’ order by 3 asc;  通过字段下标排序

5、数据处理函数

Lower

转换小写

upper

转换大写

substr

取子串(substr(被截取的字符串,起始下标,截取的长度))

length

取长度

trim

去空格

str_to_date

将字符串转换成日期

date_format

格式化日期

format

设置千分位

round

四舍五入

rand()

生成随机数

Ifnull

可以将null转换成一个具体值

注意:数据处理函数有些是Mysql特有的,可能在其他数据库不起作用

select lower(ename) as lowername from emp;   lower转小写

select upper(ename) as uppername from emp;  upper转大写

select substr(ename,1,1)as firstchar from emp;  截取首字母

select substr(ename,3,3)as ename from emp;    取3,4,5个字符

select length(ename) as enameLength from emp; 求字符长度

select * from emp where ename=trim(‘     king     ‘);  去掉前后空格(MySQL会自动去掉后面的空格)

select round(123.56);      输出是124

select round(123.56,0);      输出是124

select round(123.56,1);    输出是123.6

select round(123.56,-1);     输出是120

select rand();        随机数:输出【0,1】区间的随机数

select round(rand()*122);   生成【0,122】区间的任意整数(round用于取整)

case_when_then_else_end函数

示例:匹配工作岗位,为MANAGER时,薪水上调10%,为SALESMAN的时候,薪水上调50%

selectename,job,sal,

(casejobwhen 'manager' then sal*1.1

when 'salesman' then sal*1.5

elsesalend) asnewsalfrom emp;

注意:经测试,空格多了有时会报错

a365d5a58c0eaebb3cf3a13f4e614a13.png

ifnull函数

select ename,(sal+comm)*12 as yearsal from emp;

955e91715f3393c9083a7112cee977eb.png

select ename,(sal+ifnull(comm,0))*12 as yearsal from emp;

70f40065d2cc7e434ff585416611abe3.png

MySQL日期格式:

%Y:代表4位的年份          %y:代表2位的年份

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值