mysql‘笔记

DBMS --> SQL --> DB
SQL分类
DQL数据查询语言(凡是带select关键字的都是查询语句)
DML数据操作语言(凡是对表中的数据进行增删改的都是DML)
DDL数据定义语言(凡是带有create drop alter(修改)的都是DDL
TCL事务控制语言 事务提交commit 事务回滚 rollback
DCL数据控制语言 授权 grant 撤销权限 revoke
行(row)被称为数据/记录
列(column)被称为字段

创建数据库
create database 数据库名;
选择数据库
use 数据库名;
导入数据
source D:\bjpowernode.sql;
删除数据库
drop database 数据库名;
查看表结构;
desc 表名;
查询当前使用的数据库
select database();
查询数据库版本
select version();
终止一条正在编写的语句
如果想要终止一条正在编写的语句,可键入\c。
退出mysql
exit;

查询时直接用字段名而不用*这样的效率更高

where 和 having的区别?
where是约束声明,不能使用聚合函数
having是过滤声明,可以使用聚合函数

查询工资在2450到3000之间的员工信息?
第一种写法:
select eid,ename,egongzi from emp where gongzi >=2450 and gongzi<=3000;
第二种写法:
select eid,ename,egongzi from emp where gongzi between 2450 and 3000;
使用between是必须遵循左大右小
between and 是闭区间,包括两端的值

and和or同时出现时,and的优先级比较高,如果想让or先执行加上小括号

in 包含 not in 不在这个范围中
select * from emp where gongzi in(50,3000);查询工资是50和3000的员工信息
in 相当于多个or 不是一个区间
in后面跟的是具体的值

like模糊查询
%表示任意多个字符
表示任意一个字符
例子:
ZHANGSAN
LISI
WANG_WU
ZHAOLIU
找出名字中带有_的?
select * from emp where ename like '%
%’;这样写不对
_下划线表示特殊含义 需要用转义字符
如:
select * from emp where ename like ‘%_%’;
\转义字符将_变成了普通的下划线

排序:【默认是升序】asc表示升序,desc表示降序。
select ename,gongzi from emp order by gongzi asc; //升序排
select ename,gongzi from emp order by gongzi desc; //降序排
查询员工名字和工资要求按照工资升序排序,如果工资一样再按照名字升序排列?
select ename,egongzi from emp order by gongzi asc,ename asc;
先按照工资排升序,如果工资一样,再按照名字排升序。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值