文章目录

  • 一.数据库的概念
  • 1. DB
  • 2. DBMS
  • 3.SQL
  • 二.MySQL服务端的登录和退出
  • 1.登录指令
  • 三.MySQL的常见命令
  • 四.基础查询
  • 1.基础查询
  • 2.查询常量值
  • 3.查询表达式
  • 4.查询函数
  • 5.起别名
  • 6.去重
  • 7.+号的作用
  • 8.连接(concat)
  • 五.条件查询
  • 1.语法
  • 六.排序查询
  • 1.语法
  • 2.方法


一.数据库的概念

1. DB

数据库(database):存储数据的“仓库”。它保留了一系列有组织的数据。

2. DBMS

数据库管理系统(Database Management System),又称为数据库软件或产品,用于管理DB中的数据。数据库是通过DBMS创建和操 作的容器。

3.SQL

结构化查询语言(Structure Query Language):专门用来与DBMS通信的语言。


二.MySQL服务端的登录和退出

1.登录指令

①cmd(管理员),输入:mysql [-h主机名 -p端口号]-u用户名 -p*****(密码)
②通过MySQL自带的客户端

退出:exit或CTRL+C


三.MySQL的常见命令

①查看当前所有的数据库
show databases;

②打开指定的库
use 库名

③查看当前库的所有表
show tables;

④查看其它库的所有表
show tables from 库名;

⑤创建表
create tables 表名(
列名 列类型,
列名 列类型,
。。。
)

⑥查看表结构
desc 表名;

⑦查看服务器的版本
方式一:登录到MySQL服务端
select version();

方式二:没有登录到MySQL服务端
mysql --version

mysql --v


四.基础查询

1.基础查询

语法:
select 查询列表 from 表名;

特点:
①查询列表可以是:表中的字段,常量值,表达式,函数
②查询的结果是一个虚拟的表格

方法:
①查询表中的单个字段
SELECT last_name FROM employees;
②查询表中的多个字段
SELECT last_name,salary,email FROM employees;
③查询表中的所有字段:
SELECT 所有字段(通过双击,+逗号)FROM employees;顺序任意
或 SELECT * FROM employees;顺序与原表相同

2.查询常量值

SELECT 100;
SELECT ‘john’;

3.查询表达式

SELECT 100%98;

4.查询函数

SELECT VERSION();

5.起别名

方式一:使用AS
SELECT 100%98 AS 结果;
SELECT last_name AS 姓,first_name AS 名 FROM employees;

方式二:使用空格
SELECT last_name 姓,first_name 名 FROM employees;

特殊情况:
含有关键字用双引号括起来
SELECT salary AS “out put” FROM employees;

好处:
①便于理解
②如果要查询的字段有重名的情况,使用别名可以区分开来

6.去重

SELECT DISTINCT department_id FROM employees;

7.+号的作用

①仅仅只有一个功能运算符
select 100+90;
两个操作数都为数值型,则做加法运算

select ‘123’+90;
其中一方为字符型,试图将字符型数值转换成数值型,如果转换成功,则继续做加法运算

select ‘join’+90;
如果转换失败,则将字符型数值转换成0

select null+10;
只要其中一方为null,则结果肯定为null

8.连接(concat)

SELECT CONCAT(‘a’,‘b’,‘c’) AS 结果
SELECT IFNULL(列名,为真返回值)AS 别名;


五.条件查询

1.语法

select
查询列表
from
表名
where
筛选条件;

分类:
①按条件表达式筛选
条件运算符:> < = != <> >= <=

②按逻辑表达式筛选
逻辑运算符:&& || !
and or not

③模糊查询(不精确)

like,between and,in,is null

like:

特点:
一般和通配符搭配使用
通配符:
% 任意多个字符,包含0个字符
_ 任意单个字符

SELECT
*
FROM
employees
WHERE
last_name like ‘a’;

SELECT
last_name
FROM
employees
WHERE
last_name like#%’ ESCAPE ‘#’;

between and:

SELECT
*
FROM
employees
WHERE
employee_id BETWEEN 100 AND 200;

特点:
①提高语句的简洁度
②包含临界值
③两个临界值不要调换顺序

in:

SELECT
last_name,
job_id
FROM
employees
where
job_id IN(‘IT_PROT’,‘AD_VP’,‘AD_PRES’);

含义:判断某字段的值是否属于in列表中的某一项

特点:
①使用in提高语句简洁度
②in列表的值类型必须统一或兼容
③不支持通配符

is null:
查询没有奖金的员工名和奖金率

SELECT
last_name,
commission_pct
FROM
employees
WHERE
commission_pct is NULL;

注:
=或!=不能判断null值
is null 或is not null可以判断null值

安全等于<=>

SELECT
last_name,
commission_pct
FROM
employees
WHERE
salary <=> 12000;

is null pk <=>
IS NULL:仅仅可以判断NULL值,可读性较高,建议使用
<=>:既可以判断NULL值,又可以判断普通的数值,可读性较低


六.排序查询

1.语法

SELECT 查询列表
FROM 表
【WHERE 筛选条件】
ORDER BY 排序列表 【ASC|DESC】;

特点:
1.ASC代表的是升序,DESC代表的是降序
如果不写,默认是升序
2.ORDER BY子句中可以支持单个字段,多个字段,表达式,函数,别名
3.ORDER BY子句一般是放在查询语句的最后面,limit子句除外

2.方法

mysql知识点大全 mysql重要知识点_mysql

mysql知识点大全 mysql重要知识点_mysql知识点大全_02

mysql知识点大全 mysql重要知识点_sql_03