1. 常用命令
1.1 查看MySQL版本
长选项:mysql --version
段选项:mysql -V
1.2 创建数据库
create database 数据库名称;
// 在数据库中建立表,因此创建表的时候必须要先选择数据库。
use 数据库名称;
1.3 查询当前使用的数据库
select database();
// 查询数据库版本也可以使用
select version();
1.4 终止一条语句
如果想要终止一条语句,可以键入\c
1.5 退出mysql
可以使用\q、QUIT或EXIT
2. 查看数据库的表结构
2.1 查看和指定现有的数据库
show database;
2.2 指定当前缺省数据库
use 数据库名称;
2.3 查看当前使用的库
select database();
2.4 查看数据库中的表
show tables;
2.5 查看其他库中的表
show tables from 数据库名称;
2.6 查看表的结构
desc 表的名称;
2.7 查看表的创建语句
show create table 表的名称;
3 简单的查询
3.1 查询一个字段
// 查询员工名
select ename from emp;
3.2 查询多个字段
select empno, ename from emp;
3.3 查询全部字段
select * from emp;
采用这种方法虽然简单,但是*号不是很明确,建议查询全部字段相关字段写到select语句的后面,在以后java连接数据库的时候,是需要在java程序中编写SQL语句的,这个时候编写的SQL语句不建议使用select * 这种形式,建议写明字段,这样可读性强。
3.4 计算员工年薪
// 列出员工的编号,姓名和年薪
select empno, ename, sal*12 from emp;
3.5 将查询出来的字段显示为中文
select empno as ‘员工编号‘, ename as ‘员工姓名‘, sal * 12 as ‘年薪‘ from emp;
// 其实as关键字是可以省略的
5 条件查询
between ... and ... // 等同于>= and <=
and // 并且
or // 或者
5.1 等号操作符
// 查询薪水为5000的员工
select empno, ename, sal from emp where sal=5000;
// 查询job为MANAGER的员工
select empno, ename from emp where job=‘manager‘
// 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下都不区分大小写
5.2 <>操作符
查询薪水不等于5000的员工
select empno, ename, sal from emp where sal <> 5000;
一下写法等同于以上写法,建议使用第一种写法
select empno, ename, sal from emp where sal != 5000;
5.3 between ... and ... 操作符
查询薪水为1600到3000的员工(第一种方式,采用>=和<=)
select empno, ename, sal from emp where sal >= 1600 and sal <= 3000;
查询薪水为1600到3000的员工(第二种方式,采用between…and…)
select empno, ename, sal from emp where sal between 1600 and 3000;
// 关于between...and...,它是包含最大值和最小值的
5.4 is null
null为空,但是不是空串,为null可以设置这个字段不填值,如果查询为null字段,采用is null
查询津贴为空的员工
select * from emp where comm=null;
原文:https://www.cnblogs.com/h-hkai/p/14715937.html