MySQL必知必会-数据查询

数据库的学习我认为就是包含两方面:
1、如何建库建表,达到高效
2、如何查询到所需的数据
本文将着重写的是基础概念以及如何查询数据的部分,如何建库建表的部分后续将在另外的文章写

基本概念

结构

数据库: 一个以某种有组织的方式存储的数据集合
:一种结构化的文件,可用于存储某种特定类型的数据
:表中的一个字段
:表中的一条记录

主键

主键:一列(一组列),其值能唯一区分表中的每个行
作为主键的条件
1、任意两行都不具有相同的主键值
2、每个行都必须有主键值(不能为NULL)
主键好习惯
1、不更新主键列的值
2、不在主键列中使用可能会修改的值

什么是SQL

SQL是结构化查询语句(Structured Query Language)的缩写,是一种专门用来与数据库通信的语言。

什么是MySQL

完成数据所有存储、检索、管理和处理的数据库软件-DBMS(数据库管理系统)
MySQL实际上是一种DBMS,即它是一种数据库软件
DBMS可分为两种:一种是基于共享文件系统的DBMS,一种是基于客户机-服务机的DBMS,MySQL属于后者。

库和表查询语句

查询库

SHOW DATABASES;

使用库

USE 库名称;

查询表

SHOW TABLES;

查询表的结构

SHOW COLUMNS FROM 表名称;
DESCRIBE 表名称;

查询创建数据库的语句

SHOW CREATE DATABASE 库名称;

查询创建表的语句

SHOW CREATE TABLE 表名称;

显示授权用户权限

SHOW GRANTS;

检索数据

检索单个列

SELECT prod_name FROM products;

检索多个列

SELECT prod_name, prod_id FROM products;

检索所有列

SELECT * FROM products;

检索不同的行

SELECT DISTINCT prod_name FROM products;
只有商品名称不同的行会被筛选出来

限制结果

SELECT prod_name FROM products LIMIT 5;
SELECT prod_name FROM products LIMIT 3, 5;
前一句是返回前五条数据
第二句是返回从第三条开始后的五条数据

对检索结果排序

SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price, prod_name;
当prod_price相同时,按照prod_name排序
SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price DESC, prod_name;
先按照prod_price降序排列,当prod_price相同时,按照prod_name升序排列
SELECT * FROM products ORDER BY prod_price DESC LIMIT 1;
找出最贵的那条数据

简单WHERE语句

SELECT * FROM products WHERE prod_price = 2.00;
SELECT * FROM products WHERE prod_price <> 2.00;
SELECT * FROM products WHERE prod_price != 2.00;
SELECT * FROM products WHERE prod_price BETWEEN 2 AND 5;
其中<>和!=都表示不等于的意思

组合WHERE语句

SELECT * FROM products WHERE prod_price = 2.00 AND prod_name = ‘abc’;
SELECT * FROM products WHERE prod_price = 2.00 OR prod_price = 3;
SELECT * FROM products WHERE prod_price IN (2, 3);
SELECT * FROM products WHERE prod_price NOT IN (2, 3);

LIKE操作符使用

SELECT * FROM products WHERE prod_name LIKE ‘abc%’;
SELECT * FROM products WHERE prod_name LIKE ‘ab_c’;
前一句中abc%会筛选出prod_name以abc开头的记录
后一句中ab_c会筛选出以ab开头加一个任意字符而后接一个c字符的记录
即%匹配的是任意多个字符,而_匹配的是一个字符

正则表达式

SELECT * FROM products WHERE prod_name REGEXP ‘[123] Ton’;
返回prod_name匹配[123] Ton的记录

Concat拼接

SELECT Concat (prod_name, ‘(’, prod_price, ‘)’) FROM products;
查询出所有商品的名称以及价格,结果以苹果(5) 这样的形式呈现

使用AS生成别名

SELECT Concat(prod_name, ‘(’, prod_price, ‘)’) AS prod_item FROM products;

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值