欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL数据库详解——常用命令及查询

程序员文章站 2022-09-05 12:28:02
接上篇数据库安装指南,今天来详细讲解下常用命令及查询常用命令1、查看msyql版本•MySQL程序选项具有以下两种通用形式:–长选项,由单词之前加两个减号组成–短选项,由单个字母之前加一个减号组成C:\Users\Administrator>mysql --versionmysql Ver 14.14 Distrib 5.5.36, for Win32 (x86)C:\Users\Administrator>mysql -Vmysql Ver 14.14 Distrib 5...

接上篇数据库安装指南,今天来详细讲解下常用命令及查询

常用命令

1、查看msyql版本
•MySQL程序选项具有以下两种通用形式:
–长选项,由单词之前加两个减号组成
–短选项,由单个字母之前加一个减号组成
C:\Users\Administrator>mysql --version
mysql Ver 14.14 Distrib 5.5.36, for Win32 (x86)
C:\Users\Administrator>mysql -V
mysql Ver 14.14 Distrib 5.5.36, for Win32 (x86)

2、创建数据库
(1) create database 数据库名称;
create database bjpowernode;
(2) use 数据库名称
use bjpowernode;
在数据库中建立表,因此创建表的时候必须要先选择数据库。

3、查询当前使用的数据库
select database();
查询数据库版本也可以使用
select version();

4、终止一条语句
如果想要终止一条正在编写的语句,可键入\c。

5、退出mysql
可使用\q、QUIT或EXIT:
如:
mysql> \q (ctrl+c)

查看“演示数据”的表结构

1、查看和指定现有的数据库
MySQL数据库详解——常用命令及查询
2、指定当前缺省数据库
MySQL数据库详解——常用命令及查询
3、查看当前使用的库
MySQL数据库详解——常用命令及查询
4、查看当前库中的表
MySQL数据库详解——常用命令及查询
.5、查看其他库中的表
show tables from ;
如查看exam库中的表
MySQL数据库详解——常用命令及查询
6、查看表的结构
desc

;
如:
MySQL数据库详解——常用命令及查询
7、查看表的创建语句
show create table
;
如:
MySQL数据库详解——常用命令及查询
MySQL数据库详解——常用命令及查询

简单的查询

1、查询一个字段
查询员工姓名 select ename from emp;
MySQL数据库详解——常用命令及查询
2、查询多个字段
查询员工的编号和姓名 select empno, ename from emp;
MySQL数据库详解——常用命令及查询
查询多个字段,select中的字段采用逗号间隔即可,最后一个字段,也就是在from前面的字段不能使用逗号了。

3、查询全部字段
可以将所有的字段放到select语句的后面,这种方案不方便,但是比较清楚,我们可以采用如下便捷的方式查询全部字段
MySQL数据库详解——常用命令及查询
采用select * from emp,虽然简单,但是*号不是很明确,建议查询全部字段将相关字段写到select语句的后面,在以后java连接数据库的时候,是需要在java程序中编写SQL语句的,这个时候编写的SQL语句不建议使用select * 这种形式,建议写明字段,这样可读性强.

4、计算员工的年薪
列出员工的编号,姓名和年薪 select empno, ename, sal*12 from emp;
MySQL数据库详解——常用命令及查询
在select语句中可以使用运算符,以上存在一些问题,年薪的字段名称不太明确

5、将查询出来的字段显示为中文
select empno as ‘员工编号’, ename as ‘员工姓名’, sal12 as ‘年薪’ from emp;
注意:字符串必须添加单引号 | 双引号
MySQL数据库详解——常用命令及查询
可以采用as关键字重命名表字段,其实as也可以省略,如:
select empno “员工编号”, ename “员工姓名”, sal
12 “年薪” from emp;

条件查询

条件查询需要用到where语句,where必须放到from语句表的后面支持如下运算符
MySQL数据库详解——常用命令及查询
1、等号操作符
查询薪水为5000的员工
select empno, ename, sal from emp where sal=5000;
MySQL数据库详解——常用命令及查询
查询job为MANAGER的员工
select empno, ename from emp where job=manager;
MySQL数据库详解——常用命令及查询
以上查询出现错误,因为job为字符串,所以出现了以上错误
select empno, ename from emp where job=“manager”;
MySQL数据库详解——常用命令及查询
select empno, ename from emp where job=’manager’;
MySQL数据库详解——常用命令及查询
也可以使用单引号
select empno, ename from emp where job=‘MANAGER’;
MySQL数据库详解——常用命令及查询
以上输出正确,Mysql默认情况下大小写是不敏感的。
注意:
MySQL在windows下是不区分大小写的,将script文件导入MySQL后表名也会自动转化为小写,结果再 想要将数据库导出放到linux服务器中使用时就出错了。因为在linux下表名区分大小写而找不到表,查了很多都是说在linux下更改MySQL的设置使其也不区分大小写,但是有没有办法反过来让windows 下大小写敏感呢。其实方法是一样的,相应的更改windows中MySQL的设置就行了。
具体操作:
在MySQL的配置文件my.ini中增加一行:
lower_case_table_names = 0
其中 0:区分大小写,1:不区分大小写
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
   1、数据库名与表名是严格区分大小写的;
   2、表的别名是严格区分大小写的;
   3、列名与列的别名在所有的情况下均是忽略大小写的;
   4、变量名也是严格区分大小写的; MySQL在Windows下都不区分大小写

2、 <>操作符
查询薪水不等于5000的员工
select empno, ename, sal from emp where sal <> 5000;
MySQL数据库详解——常用命令及查询
一下写法等同于以上写法,建议使用第一种写法
select empno, ename, sal from emp where sal != 5000;
数值也可以采用单引号引起来,如一下语句是正确的(不建议这么写):
select empno, ename, sal from emp where sal <> ‘5000’;
查询工作岗位不等于MANAGER的员工
select empno, ename from emp where job <> ‘MANAGER’;

3、between … and …操作符
查询薪水为1600到3000的员工(第一种方式,采用>=和<=)
select empno, ename, sal from emp where sal >= 1600 and sal <= 3000;
MySQL数据库详解——常用命令及查询
查询薪水为1600到3000的员工(第一种方式,采用between … and …)
select empno, ename, sal from emp where sal between 1600 and 3000;
MySQL数据库详解——常用命令及查询
关于between … and …,它是包含最大值和最小值的
4、is null
Null为空,但不是空串,为null可以设置这个字段不填值,如果查询为null的字段,采用is null
查询津贴为空的员工
select * from emp where comm=null;
MySQL数据库详解——常用命令及查询
以上也无法查询出符合条件的数据,因为null类型比较特殊,必须使用 is来比较
select * from emp where comm is null;
MySQL数据库详解——常用命令及查询
以上查询正确
5、 and
and表示并且的含义,表示所有的条件必须满足
工作岗位为MANAGER,薪水大于2500的员工
select * from emp where job=‘MANAGER’ and sal > 2500;
MySQL数据库详解——常用命令及查询
6、or
or,只要满足条件即可,相当于包含
查询出job为manager或者job为salesman的员工
select * from emp where job=‘MANAGER’ or job=‘SALESMAN’;
MySQL数据库详解——常用命令及查询
7、表达式的优先级
查询薪水大于1800,并且部门代码为20或30的员工(错误的写法)
select * from emp where sal > 1800 and deptno = 20 or deptno = 30;
MySQL数据库详解——常用命令及查询
以上输出不是预期结果,薪水小于1800的数据也被查询上来了,原因是表达式的优先级导致的,首先过滤sal > 1800 and deptno = 20,然后再将deptno = 30员工合并过来,所以是不对的

查询薪水大于1800,并且部门代码为20或30的(正确的写法)
select * from emp where sal > 1800 and (deptno = 20 or deptno = 30);
MySQL数据库详解——常用命令及查询
关于运算符的问题:不用记,没有把握尽量采用括号

8、in
in表示包含的意思,完全可以采用or来表示,采用in会更简洁一些
查询出job为manager或者job为salesman的员工
select * from emp where job in (‘manager’,‘salesman’);
MySQL数据库详解——常用命令及查询
查询出薪水包含1600和薪水包含3000的员工
select * from emp where sal in(1600, 3000);
MySQL数据库详解——常用命令及查询9、not
查询出薪水不包含1600和薪水不包含3000的员工(第一种写法)
select * from emp where sal <> 1600 and sal <> 3000;
MySQL数据库详解——常用命令及查询
查询出薪水不包含1600和薪水不包含3000的员工(第二种写法
select * from emp where not (sal = 1600 or sal = 3000);
MySQL数据库详解——常用命令及查询
查询出薪水不包含1600和薪水不包含3000的员工(第三种写法)
select * from emp where sal not in (1600, 3000);
MySQL数据库详解——常用命令及查询
查询出津贴不为null的所有员工
select * from emp where comm is not null;
MySQL数据库详解——常用命令及查询
10、like
Like可以实现模糊查询,like支持%和下划线匹配

查询姓名以M开头所有的员工
select * from emp where ename like ‘M%’;
MySQL数据库详解——常用命令及查询
查询姓名以N结尾的所有的员工
select * from emp where ename like ‘%N’;
MySQL数据库详解——常用命令及查询
查询姓名中包含O的所有的员工
select * from emp where ename like ‘%O%’;
MySQL数据库详解——常用命令及查询
查询姓名中第二个字符为A的所有员工
select * from emp where ename like ‘_A%’;
MySQL数据库详解——常用命令及查询
Like中%和下划线的差别?
%匹配任意字符出现的个数
下划线只匹配一个字符
Like 中的表达式必须放到单引号中|双引号中,以下写法是错误的:
select * from emp where ename like _A%

本文地址:https://blog.csdn.net/q872792748/article/details/108979428