Mysql数据库笔记(1)

**~什么是数据库,什么是数据库管理系统,什么是sql,他们之间的关系是什么**

**数据库**:
英文单词database,简称DB .   按照一定格式存储数据的一些文件的组合。
顾名思义:存储数据的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据。

**数据库管理系统:**
databasemanagement,简称dbms
数据库管理系统是专门用来管理数据库中的数据的,数据库管理系统可以对数据库当中的数据进行增删改查。

常见的数据库管理系统统:Mysql 、oracle、ms、sqlserver、db2、sybase等

sql:结构化查询语言
	程序员需要学习sql语句,程序员通过编写sql语句,然后dbms负责执行sql预计,最终来完成数据库长的增删改查操作。
	
	sql是一套标准,程序员主要学习的就是sql语句,这个sql在mysql中可以使用,同事在oracle中也可以使用,在db2中也可以使用
	
三者之间的关系:
	dbms>通过执行执行sql语句>操作数据库db
	
net stop  服务名称 停止
net start 服务名称 启用


关于sql语句的分类?
sql语句有很多,最好进行愤懑别类,这样更容易记忆。
分为:
	DQL:
	   数据查询语言(分时带有select关键字的都是查询语句)
	   select....
	   
	DML:
		数据操作语言(凡是对表当中的数据进行增删改的都是DML)
		insert delete update
		insert 增
		delete 删
		update 改
		这个主要是操作表中的数据data.
		
	DDL:数据定义语言
		凡是带有create、drop、alter的都是DDL
		DDL主要操作的是表的结构。不是表中的数据。
		create:新建,等同于增
		drop:删除
		alter:修改
		这个增删改和DML不同,这个主要是对表结构进行操作。
	
	TCL:
		是事务控制语言
		包括:
			事务提交:comnit;
			事务回滚:roollback;
			
	DCL:
		是数据控制语言。
		例如:授权grant、撤销权限revoke.....
		
select version(); 查看mysql数据库的版本号;		
show databases; 查看自带数据库
ues 库名;  使用此数据库
create daatabase yinzhe; 创建数据库名字为yinzhe
show tables;  查看自带表
select * from biaoming; 从这个表里查询所有数据
desc biaoming; 看表的结构,类型
select database();查看当前使用数据库		
select dname from dept; 查询部门名字	
select deptno,dname from dept; 查询编号和部门名;两个字段用','隔开
select deptno,dname as deptname from dept;	给查询的列该别名	使用as关键字起别名。可以用空格代替

注意:在所有的数据库当中,字符串同意使用单引号括起来,单引号是标准,双引号在oracle数 据库中用不了,但是在mysql中可以使用。(双引号不标准)

select ename,sal*12 from emp;  查询员工名字和工资*112,就是员工的年薪 
输出名字就是ename 和sal*12 如果不喜欢名字sal*12可以使用as该别名
select ename,sal*12 as '年薪' from emp; 如果是中文记得加单引号
select empno,ename,sal from emp where sal < 2000; 查询薪资小于2000的,员工编号,员工姓名
select empno,ename, sal from emp where ename = 'SMITH'//字符串使用单引号 
或者select 
	empno,ename,sal
from 
	emp 
where 
	sal between 2450 and 3000; 查询薪资在2450和3000之间的员工信息包括2450和3000;
	
select rand() from emp; 生成随机数

select round(rand()*100,0) from emp;100以内的随机数

ifnull 可以将null转换成一个具体值
ifnull 是空处理函数。专门处理空的。
在所有数据库中,只要有null参与的数学运算,最终结果就是null

select ename, sal + comm as salcomm from emp; 查询ename将薪资加补助输出salcomm有null的结果为null  数据库里有null就会输出空
计算每个员工的年薪 年薪 = (月薪 + 月补助)*12
select ename,(sal + comm) * 12 as yearsal from emp; 会查出null
select ename,(sal + ifnull(comm,0)) * 12 as yearsal from emp; ifnull函数用法:ifnull(数据,被当作哪个值)比如:如果"comm"为null的时候,把这个数据当作0

case(匹配某个东西)...when(当满足什么)...then(怎么作)...when...then...else(其他情况怎么做)...end 

当员工的工作岗位是manager的时候,工资上调10%,当工作岗位是salesman的时候,工资上调50%,其他正常

select 
	ename,
	job,
	sal as oldsal,
	(case job when 'manager'then sal*1.1 when 'salesman' then sal*1.5 else sal end) as newsal
from
	emp;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值