首页 > 数据库技术 > 详细

MySQL知识总结

时间:2021-04-29 09:48:16      阅读:20      评论:0      收藏:0      [点我收藏+]

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;

 

MySQL知识总结

原文:https://www.cnblogs.com/h-hkai/p/14715937.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!