MySql数据库基本操作一(基础查询)

本文介绍了数据库的基本概念,包括数据库、DBMS、SQL以及数据存储特点。核心内容涵盖了查看数据库版本、操作数据库结构、SQL语言规范,如SELECT查询、条件筛选、排序和去重等,并通过实例演示了DQL的学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库基本概念

数据库好处

  1、可以持久化数据到本地
  2、结构化查询

数据库的常见概念

  1、DB:数据库,存储数据的容器
  2、DBMS:数据库管理系统,又称为数据库软件或者数据库产品,用于创建或者管理DB
  3、SQL:结构化查询语言,用于和数据库通信的语言,通用语言

数据库存储数据的特点

  1、数据存放到列表中,然后表存放到库中
  2、一个库中可以有多张表,每张表具有唯一的表名用来标识自己
  3、表中有一个或者多个列,列又称为‘字段’,相当于‘属性’
  4、表中的每一行数据相当于‘对象’

基本操作

  1、查看数据服务端版本方式在这里插入图片描述

  2、查看当前所有数据库

在这里插入图片描述
  3、打开指定的库

  4、查看当前库的所有表在这里插入图片描述
  5、查看其它库的所有表在这里插入图片描述

sql语言规范

  1、不区分大小写,但关键字建议大写,表名、列名小写
  2、每条命令最好用分号结尾
  3、每条命令根据需要,可以进行缩进 或换行
在这里插入图片描述
  4、注释
     单行注释
     # 注释文字
     – 注释文字
在这里插入图片描述

DQL语言学习(Data Query Languge)

基础查询

表数据链接: https://pan.baidu.com/s/1uDxNjKVKlz9uVicf9IYCkg 提取码: 2y1w

  语法:
    select 查询列表
    from 表名

  特点:

    1、查询列表可以为:表中字段、常量、表达式、函数
    2、查询结果是一个虚拟表格

// An highlighted block
SELECT last_name,salary,email
FROM employees;

  3、起别名

// An highlighted block
SELECT last_name AS,first_name ASFROM employees;

在这里插入图片描述
  4、去重

// An highlighted block
SELECT DISTINCT department_id 
FROM employees;

  5、concat连接

// An highlighted block
SELECT CONCAT(last_name,first_name) AS 姓名
FROM employees;

在这里插入图片描述

条件查询

  语法:
    SELECT 查询列表
    FROM 表名
    WHERE 筛选条件

  分类:
    1、按条件表达式筛选
    条件运算符:>< = != <> >= <=
    2、逻辑运算符:&& || ! AND OR NOT
    3、模糊查询
      LIKE
      BETWEEN AND
      IN
      IS NULL

1、按条件表达式筛选
  案例:查询工资大于12000的员工信息

SELECT *
FROM employees
WHERE salary>12000;

  案例:查询部门编号不等于90 的员工信息和部门编号

SELECT last_name,department_id
FROM employees
WHERE department_id!=90;

&emsp;&emsp;#第二种方法
SELECT last_name,department_id
FROM employees
WHERE department_id<>90;

2、逻辑运算符
  案例:查询工资在10000,20000之间的员工名、工资以及奖金

SELECT last_name,salary, commission_pct
FROM employees
WHERE salary>=10000 AND salary<=20000;

  案例:查询部门编号不是在90到110之间,或者工资高于15000的员工信息

SELECT *
FROM employees
WHERE department_id<90 OR department_id>110 OR salary>15000;

#第二种表达方式
SELECT *
FROM employees
WHERE NOT(department_id>=90 AND department_id<=110) OR salary>15000;

3、模糊查询
LIKE
  特点:
    一般和通配符搭配使用
    % 任意多个字符,包含0个字符
    _ 任意单个字符
  案例:员工名中包含字符a的员工信息

SELECT *
FROM employees
WHERE last_name LIKE '%a%';

  案例2:查询员工名中第三个字符为n,第五个字符为l的员工名和工资

SELECT *
FROM employees
WHERE last_name LIKE '__n_l%';

  案例3:查询员工名中第二个字符为_的员工名

SELECT *
FROM employees
WHERE last_name LIKE '_\_%';

#第二种方法
SELECT *
FROM employees
WHERE last_name LIKE '_$_%' ESCAPE '$';

BETWEEN AND
  1、提高语言简介度
  2、包含临界值,不可颠倒
#案例1:查询员工编号在100到120之间的员工信息

SELECT *
FROM employees
WHERE employee_id >= 100 AND employee_id <= 120;

#第二种方法
SELECT *
FROM employees
WHERE employee_id BETWEEN 100 AND 120;

in
  含义:判断某字段中的值是否属于in列表中的某一项
  特点:使用in提高语言简洁度,in列表值类型统一或兼容,
  案例:查询员工的工种编号是it_prog,ad_vp,ad_pres中的一个员工名和工种编号

SELECT last_name,job_id
FROM employees
WHERE job_id = 'IT_PROT' OR job_id = 'AD_VP' OR job_id='AD_PRES';

#第二种方法
SELECT last_name,job_id
FROM employees
WHERE job_id IN ('IT_PROT' ,'AD_VP' ,'AD_PRES');

is NULL
  =<>不能用于判断null值
  is_null可以判断null值
  案例:查询没有奖金的员工名和奖金率

SELECT last_name,commission_pct
FROM employees
WHERE commission_pct IS NULL;

#第二种方法
#安全符号
SELECT last_name,commission_pct
FROM employees
WHERE commission_pct <=>NULL;

  案例:查询有奖金的员工名和奖金率

SELECT last_name,commission_pct
FROM employees
WHERE commission_pct IS NOT NULL;

排序查询ORDER BY

  语法:
    SELECT 查询列表
    FROM 表
    WHERE 条件
    ORDER BY 排序列表

  特点:
    asc代表升序,desc代表降序,默认为升序

  案例:查询员工信息,要求工资从高到底排序

//An highlighted block
SELECT *
FROM employees
ORDER BY salary DESC;

  案例:查询部门编号>=90的员工信息,按入职时间的先后进行排序

//An highlighted block
SELECT *
FROM employees
WHERE department_id>=90
ORDER BY hiredate ASC;

  案例:按表达式排序,按年薪高低显示

//An highlighted block
SELECT *,salary*12*(1+IFNULL(commission_pct,0)) AS 年薪
FROM employees
ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;

SELECT *,salary*12*(1+IFNULL(commission_pct,0)) AS 年薪
FROM employees
ORDER BY 年薪 DESC;

  案例:按姓名长度显示员工的姓名和工资【按函数排序】

//An highlighted block
SELECT LENGTH(last_name) AS 字节长度,last_name,salary
FROM employees
ORDER BY 字节长度 DESC;

  案例:查询员工信息,要求先按工资排序,再按员工编号排序【安多个字段排序】

SELECT *
FROM employees
ORDER BY salary ASC,employee_id DESC;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值