开学实验里要用到mysql,忘记基本的select语句怎么玩啦?补救来啦~

💓SQL语句的分类

SQL语言按照功能分,上主要分为如下3大类:
1、DDL(Data Definition Languages、数据定义语言),这些语句定义了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。主要的语句关键字包括CREATE 、DROP 、ALTER 等。

2、DML(Data Manipulation Language、数据操作语言),用于添加、删除、更新和查询数据库记录,并检查数据完整性。主要的语句关键字包括INSERT 、DELETE 、UPDATE 、SELECT 等。SELECT是SQL语言的基础,最为重要。

3、DCL(Data Control Language、数据控制语言),用于定义数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括GRANT 、REVOKE 、COMMIT 、ROLLBACK 、SAVEPOINT


了解:

因为查询语句使用的非常的频繁,所以也有人把查询语句单拎出来一类,叫做:DQL(数据查询语言)。
还有单独将COMMIT 、ROLLBACK 取出来称为TCL (Transaction Control Language,事务控制语言)。

💓SQL语言的规则与规范

🌟基本规则

1、SQL 可以写在一行或者多行。为了提高可读性,各子句分行写,必要时使用缩进
2、每条命令以 ; 或 \g 或 \G 结束
3、关键字不能被缩写也不能分行
4、关于标点符号:

  1. 必须保证所有的括号()、单引号’'、双引号""是成对结束的
  2. 必须使用英文状态下的半角输入方式
  3. 字符串型和日期时间类型的数据可以使用单引号(’ ')表示
  4. 列的别名,尽量使用双引号(" "),而且不建议省略as

🌟SQL大小写规范 (建议遵守)

MySQL 在 Windows 环境下是大小写不敏感的
MySQL 在 Linux 环境下是大小写敏感的

正是因为两种开发环境下,对于大小写的敏感度不同,为了防止自己习惯了windows环境下的写法,在Linux开发的时候就可能会尴尬了,所以建议遵守。
狗头


下面罗列了那些需要严格区分大小写:

数据库名、表名、表的别名、变量名严格区分大小写
关键字、函数名、列名(或字段名)、列的别名(字段的别名) 忽略大小写的。


随着开发的深入,工程师们也潜移默化的形成了属于这个圈子中的一些规则:
数据库名、表名、表别名、字段名、字段别名等都小写
SQL的关键字、函数名、绑定变量等都大写

🌟注释

注释了,是每种开发语言中都会有的内容,对于SQL也是这种的,因为它们方便了我们对代码的理解。
狗头

单行注释:#注释文字(MySQL特有的方式)
单行注释:-- 注释文字(- -后面必须包含一个空格。)
多行注释:/* 注释文字 */

🌟命名规则

SQL的命名规则和其他编程语言的命名规则要求是差不多的,相信大多数人已经耳熟能详了。

1、数据库、表名不得超过30个字符,变量名限制为29个
2、必须只能包含 A–Z, a–z, 0–9, _ 共63个字符
3、数据库名、表名、字段名等对象名中间不要包含空格
4、同一个MySQL软件中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名

这里额外阐释一点特殊的:

必须保证我们使用的字段中,没有和保留字、数据库系统或常用方法冲突。如果坚持使用,要在SQL语句中使用`(着重号)引起来

# order是sql中一个常用命令order by中的一部分
SELECT * from `order`;

🌟数据导入指令——了解

🌻命令行的导入和导出

命令行下进行sql文件的导出:


1、指定一个存放sql文件的文件夹
如: E:\Study\MyDB
导出数据库文件:mysqldump -u 用户名 -p 数据库名 -P 端口号> 导出的文件名
如我输入的命令行的代码为:mysqldump -u root -p test -P 3306>test.sql (回车,输入MySQL的密码)

倘若要导出数据库中指定的表: 在数据库名后空格添加表名就可以了
mysqldump -u 用户名 -p 数据库名 表名 -P 端口号> 导出的文件名

导出

命令行进行sql文件的导入


注意: 导入的意思了,是将我现在拥有的sql文件导入到数据库中。

这里了,就需要在数据库中给这个即将到来的小家伙开辟一块空间,用来存放待会要导入的数据库的数据。

因此,整体的流程是:

1、连接数据库:mysql -u {用户名} -p 回车 再输入密码
落实到代码为:

mysql -u root -p

2、指定目标数据库名:use {库名}
代码落实为:

use newtest 

3、导入文件 source {路径}
代码落实为:

 source E:\Study\sql\test.sql

需要注意的是我们要有这个文件,如果没有则会报异常
导入

🌻图形化管理工具Navicat Premium的导入和导出

倘若没有Navicat Premium这个软件,但是想考虑尝试一下的小伙伴可以到下面这个链接中进行下载喔~
Navicat Premium

🌻Navicat 连接 数据库

1、选择需要连接的数据库类型
在这里插入图片描述
2、对连接命名 + 密码确认
在这里插入图片描述


一、导入操作

步骤一:新建数据库
新建数据库
第二步:对新建的数据库取名称(建议和sql文件名称相同)
第二步

第三步:点击"运行SQL文件"
点击运行SQL文件
第四步:选择要导入的文件
步骤4

二、导出操作

在Navicat Premium中导出就很简洁了。
在这里插入图片描述

💓基本的SELECT语句

🌟SELECT … FROM

语法为:
SELECT 具体查询的列名/字段名
FROM 从哪个表中进行查询
查找指定字段

当需要选择全部列的时候,可以借助通配符*来实现

语法为:
SELECT *
FROM 从哪个表中查询选择;
通配符

小贴士:
贴士

🌟列的别名

使用方式:
1、紧跟列名,也可以在列名和别名之间加入关键字AS,
2、别名中包含空格或特殊的字符并区分大小写的时候,别名需要使用双引号引起来。
使用效果

🌟去除重复信息

默认情况下,查询会返回全部行,包括重复行。因为有重复的信息了,整个结果集就会显得十分的累赘和臃肿。
因此:

在SELECT语句中使用关键字DISTINCT去除重复行

使用语法为:
SELECT DISTINCT 列名/字段名
FROM 查询字段所在的表

查询结果

🌟空值参与运算

所有运算符或列值遇到null值,运算的结果都为null

注意:
在 MySQL 里面, 空值不等于空字符串。一个空字符串的长度是 0,而一个空值的长度是空。在 MySQL 里中空值是占用空间的。
运行结果

🌟着重号

我们需要保证表中的字段、表名等没有和保留字、数据库系统或常用方法冲突。如果真的相同,就需要在SQL语句中使用一对``(着重号)引起来。

💓显示表结构

使用DESCRIBE 或 DESC 命令,表示表结构

使用语法为:

DESCRIBE employees;
或
DESC employees;

💓过滤数据

使用语法:
SELECT 字段1,字段2
FROM 表名
WHERE 过滤条件

使用WHERE 子句,将不满足条件的行过滤掉


WHERE子句紧随 FROM子句

样例演示
样例演示

💓总结

这篇文章主要是复习了SQL语句的一些命名规则和规范,以及SELECT语句和FROMWHERE联合起来进行查询所需要的数据。简单的浏览一下使用语法,再亲手去编写一两个SQL查询的案例,就可以熟练掌握喔。

那么,这里放了几个小小的练习,感兴趣的小伙伴可以着手编写一下呀~
点击获取题目和sql文件呀^ - ^
点击获取参考代码
无语子哦

  • 40
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 55
    评论
评论 55
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨枝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值