目录
一、简单的命令
net start 服务名称
net stop 服务名称
mysql -uroot -p123456 显示密码形式
mysql -uroot -p 隐藏密码形式
exit 退出
show databases; 查看MySQL中的数据库有哪些
use test;使用名字是test的数据库
create database 数据库名称; 创建数据库
数据库最基本的单元是表,列是字段,行是数据
show tables; 查看数据库中的表
source sql文件路径导入sql文件
select * from 表名;查看表中数据
desc表名 不看表中的数据,只看表的结构
select version (); 查看mysql数据库的版本号
mysql> select database () ;查看当前使用的是哪个数据库
\c 用来终止一条命令的输入
二、SQL语句分类
DQL:数据查询语言(凡是带有select关键字的都是查询语句)select..
DML:数据操作语言(凡是对表当中的数据进行增删改的都是DML)
insert 增 delete 删 update 改
DDL:数据定义语言凡是带有create、drop、alter的都是DDL。DDL主要操作的是表的结构。不是表中的数据。
create:新建,等同于增 alter:修改 drop:删除
TCL:不是王牌电视。是事务控制语言
包括:事务提交:commit;事务回滚:rollback;
DCL:是数据控制语言。例如:授权grant、撤销权限revoke....
三、简单查询
1、查询一个字段
select 字段名 from表名; select和from都是关键字。字段名和表名都是标识符。
2、查询两个字段,或者多个字段
使用逗号隔开","
eg:查询部门编号和部门名 select deptno,dname from dept;
3、查询所有字段
第一种方式:可以把每个字段都写上 select a,b,c,d,e,f... from tablename;
第二种方式:可以使用* select * from dept;
4、给查询的列起别名 select deptno,dname as deptname from dept;
注意:别名里面有空格用引号,在所有的数据库当中,字符串统一使用单引号括起来,单引号是标准,双引号在oracle数据库中用不了。但是在mysql中可以使用。
四、条件查询
select
字段1,字段2,字段3..
from
表名
where
条件;
1、<>或!= 不等于
2、between....and..... 两个值之间,等同于>=and<=
3、is null 为 null (is not null不为空)
注意:在数据库当中null不能使用等号进行衡量。需要使用is null因为数据库中的null代表什么也没有,它不是一个值,所以不能使用等号衡量。
4、and 并且 or 或者
select
*
from
emp
where
sal > 2500 and (deptno = 10 or deptno = 20) ;
and和or同时出现,and优先级较高。如果想让or先执行,需要加"小括号"
5、in 包含,相当于多个or(not in不在这个范围中)
6、not 可以取非,主要用在is或in 中
7、like 称为模糊查询,支持%或下划线匹配
8、% 匹配任意个字符
找出名字中含有O的
select ename from emp where ename like '%O%';
找出名字以T结尾的
select ename from emp where ename like '%T';
9、下划线,一个下划线只匹配一个字符
找出第二个字每是A的 select ename from emp where ename like '_A%';
找出名字中有""的?select name from t_student where name like '%\% ; \是转义字符
五、排序
1、查询所有员工薪资,排序
select
ename ,sal
from
emp
order by
sal;//默认是升序!!!
2、怎么降序?
select
ename, sal
from
emp
order by
saldesc;
desc指定降序,asc指定升序
3、两个字段排序,多个字段排序
查询员工名字和薪资,要求按照薪资升序,如果薪资一样的话,再按照名字升序排列。
select
ename , sal
from
emp
order by
sal asc, ename asc;