笔记:mysq的一些常用命令
一,常用命令
1,创建数据库
create database xiaoman;
use xiaoman;
source D:\MySQL\mybase\teach.sql
drop database xiaoman;
2,查看mysql版本在DOS中
mysql --verson;
mysql -V;
3,查看当前在那个数据库
select database();
4,查看数据库版本
select version();
5,终止一条语句
\c
6,退出MySQL
exit,\q, quit,ctrl+c
7,查看使用数据库版
show databases;
use databasename;
8,查看当前数据库的表
show tables;
9,查看其他库的表
select tables from databasename;
10,查看表的结构
desc tablename;
11,查看表的创建语句
show create table tablename;
二,简单的查询
1,查询单个字段
select ename from emp;
2,查询多个字段
select ename,sal from emp;
3,查询所有字段
select *from emp;
4,计算员工半年的薪水
select ename,sal*6 from emp;
5,将查询的字段显示为中文
select ename as '员工编号‘,sal as '员工薪水’ from emp;(字符串用单引号括起来,as也可以省略)
三,条件查询
条件查询需要用到where语句,where语句放在from语句之后
运算符 说明
= 等于
<>或!= 不等于
< 小于
<= 小于等于
> 大于
>= 大于等于
between … and …. 两个值之间,等同于 >= and <=
is null 为null(is not null 不为空)
and 并且
or 或者
in 包含,相当于多个or(not in不在这个范围中)
not not可以取非,主要用在is 或in中
like like称为模糊查询,支持%或下划线匹配
%匹配任意个字符下划线,一个下划线只匹配一个字符
1,等号操作
select empno,ename,sal from emp where sal=3000;
select empno,ename from emp where job='manager';
2,<>不等于操作符
select empno,ename,sal from emp where sal<>5000;
selesct empno,enme,sal from emp where san!=5000;
zselect empno,ename from emp where job<>'salesman';
3,between...and..
seelct empno,ename,sal from emp where sal between 1000 and 3000;
4,is null查询津贴为空的员工
select empno,ename from emp where comm is null;
5,and 条件都要满足
select empno,ename from emp where sal<=3000 and job='manager';
6,or 或者其中之一
select *from emp where job='manager' or job='salesman';
7,表达式的优先级
查询薪水大于1800,并且部门代码为20或30的员工(错误的写法)
select *from emp where sal>1800 and deptno=20 or deptno=30;
正确的写法
select *from emp where sal >1800 and (deptno=20 or depyno=30);
8,in 表示包含,可以用or代替
select *from emp where job in('manager','salesman');
9,not
查出薪水不包含1600和3000的员工
select *from emp where not(sal=1600 or sal=3000);
select *from emp where not in(1600,3000);
查出津贴不为null的员工
select *from emp where comm is not null;
10,like 模糊查询,like支持%和下划线匹配
%匹配任意字符出现的个数
下划线只匹配一个字符
查询姓名以M开头的员工
select *from emp where ename like'M%';
查询姓名以N结尾的员工
select *from emp where ename like '%N';
查询姓名中包含O的员工
select *from emp where ename like '%O%';
查询姓名中第二个字符为A的员工
select *from emp where ename like '_A%';
四,排序数据
1,单一字段排序
select *from emp order by sal;(系统默认从小到大)
工作为salesman的员工薪水
select *from emp where job='salesman' order by sal;(order by 放在where后面)
多个字段排序
select *from emp order by ename,sal;
2,指定排序数据
薪水的排序
select *from emp order by sal asc;(从小到大)
select *from emp order by sal desc;(从大到小)
多个字段排序
select *from emp order by job desc ,sal desc;
如果采用多个字段排序,如果根据第一个字段排序重复了,会根据第二个字段排序
3,使用字段的位置来排序
select *from emp order by 6;
MySQL的基础语法