SQL初学者入门指南:轻松掌握数据库基础

1.数据库 database

        数据库就是用来批量存储和管理数据的软件,数据库产品众多,包括但不限于:

MySQL、Oracle、SQLServer、SQLite

        博主主要学习的是SQL,相对于上述软件来说SQL对于初学者还是很友好很适用;


简介:

        SQL(色扣)是IBM公司推出的一种数据库语言,数据库的学习主要是学习SQL语句。

SQLite的特点是轻量级,因此在本地数据存储中非常常用。

SQL: 关系型数据库的标准语言,分为三类:

  • DML 数据操作语言 (Data Manipulation Language

包括数据查询(DQL)、增加、删除和修改。

  • DDL 数据定义语言

对数据表进行定义与设计。

  • DCL 数据控制语言

用来控制用户的操作权限,在企业中会有专业人士负责。(作为一名初学者不必掌握)


2.环境配置                 (环境下载在文章末尾)

本次学习使用的环境为SQLiteSpy, 免安装,直接双击可以使用,内部集成了SQLite。

SQLite以文件的方式存储数据,数据库文件格式为.db或.db3

从现在开始,需要在windows下打开文件扩展名功能:

学习数据在,需要在SQLiteSpy程序中按照下图所示打开scott.db文件

可以使用excel对比数据库进行说明概念:

  1. SQLiteSpy对应的是excel软件

2 数据库文件对应的是excel表格文件

  1. 数据库tables 对应的是excel的工作表sheet

3.学习数据

学习数据包括四张表,这四张表来自于美国80年代为数据库学习者设计的内容。

在SQLiteSpy中观察一张表的内容可以直接双击表名。

3.1 emp表(雇员表 employee)

【注意】需要记住上表中的以下内容:

  • 表名——英汉互译
  • 字段(列名)——英汉互译
  • 岗位job的值——英译汉

3.2 dept表(部门表 department)

【注意】需要记住上表中的以下内容:

  • 表名——英汉互译
  • 字段(列名)——英汉互译

3.3 salgrade表(工资等级表salary)

【注意】需要记住上表中的以下内容:

  • 表名——英汉互译
  • 字段(列名)——英汉互译

3.4 bonus表(奖金表)

这是一张空表

4.简单查询

简单查询的结果中包含所有记录(行), 例如在emp表中,一共有14条记录。

简单查询唯一能做的就是控制查询结果中显示的字段(列), 语法格式如下:

为了更好地编写博主给大家提供了一个免费开源的文本编译器:notepad++,可调节格式大小和语句高亮提示,更有利于初学者的学习。

【例子】查询所有雇员的编号(empno)、姓名(ename)、职位(job)、基本工资(sal)。

可以直接在Notepad++中写SQL语句,可以给出语法高亮和提示的功能。

写完了之后赋值粘贴到SQLiteSpy中,点击快捷键F9或者鼠标点击Execute然后选第一个Execute SQL执行

【例子】查询所有雇员的职位有哪些。

上面的结果中包含重复数据,使用DISTINCT关键字可以消除重复项

注意:如果SELECT的是多列,DISTINCT消除重复只有所有列数据都相同的时候才可以消除否则无法消除。

例如:

5.限定查询

WHERE 语句是SQL中最常用的子句之一,用于从数据库表中筛选符合条件的记录。以下是WHERE语句的全面解析:

1. 基本语法

复制 sql

SELECT column1, column2, ...
FROM table_name
WHERE condition;

2. 常用比较运算符

运算符说明示例
=等于WHERE age = 25
<> 或 !=不等于WHERE status <> 'active'
>大于WHERE salary > 5000
<小于WHERE score < 60
>=大于等于WHERE quantity >= 100
<=小于等于WHERE price <= 99.99
BETWEEN在范围内WHERE age BETWEEN 18 AND 30
LIKE模式匹配WHERE name LIKE '张%'
IN指定多个可能值WHERE id IN (1, 3, 5)
IS NULL为空值WHERE email IS NULL

3. 逻辑运算符

-- AND: 同时满足多个条件
WHERE age > 18 AND gender = 'F'

-- OR: 满足任一条件
WHERE status = 'active' OR status = 'pending'

-- NOT: 否定条件
WHERE NOT country = 'USA'

4. 高级用法

通配符查询 (LIKE)

-- % 代表任意多个字符
WHERE name LIKE '张%'  -- 以"张"开头
WHERE email LIKE '%@gmail.com'  -- 以@gmail.com结尾

-- _ 代表单个字符
WHERE phone LIKE '138____1234'  -- 138开头,1234结尾的11位号码

日期查询

-- 日期格式取决于数据库系统
WHERE create_date > '2023-01-01'  -- MySQL/SQL Server
WHERE create_date > TO_DATE('2023-01-01', 'YYYY-MM-DD')  -- Oracle

子查询

WHERE department_id IN (
    SELECT department_id 
    FROM departments 
    WHERE location = '北京'
)

6.关系运算

关系运算是最简单的运算符号:

> < >= <= <> != ==

【例子】查询工资高于3000的雇员信息(没说查什么信息,就是全查,全查可以用*)

注意:数据库中==可以替换成=,数据库中没有赋值这个概念; 单引号括起来表示字符串也就是文本。

5.2 取值范围运算

取值范围运算使用BETWEEN...AND...

可以筛选两个数字之间的范围区间,这个区间是一个闭区间,包含两端。

【例子】查询所有在1981年雇佣的雇员信息。

1981年1月1日~1981年12月31日

5.3 基数范围运算

主要通过IN实现,IN后面的数据不能是NULL。

【例子】查询出雇员编号为7369/7566/7839/8899的信息。

5.4 模糊查询

模糊查询使用LIKE关键字配合两个符号来进行标记:

  • _

匹配任意一个字符

  • %

匹配任意多个字符(0,1,2...n个)字符

【例子】查询出所有姓名以A开头的雇员信息。

5.5 空判断

在SQLiteSpy中,emp表的comm列,存在一些红色切无数据的情况。

  • IS NULL

判断是否为空

  • IS NOT NULL、NOT IS NULL

判断是否不为空

这表示数据内容为空,也即是NULL。

5.6 逻辑运算

逻辑运算与C语言相同,包括:

与操作: AND

或操作: OR

非操作(取反): NOT

【例子】查询出公司基本工资高于1300的销售信息。

  • 工资高于1300
  • 销售

链接: https://pan.baidu.com/s/1yPbtEDI6JBg7qere68CqiA?pwd=9xve 提取码: 9xve

内容概要:本文档是关于SQL Server 2016在Windows环境下入门指南的详细介绍。首先介绍了安装准备,包括下载安装包时选择开发者版,以及系统的要求。接着阐述了基本操作,如连接服务器、创建数据库、数据表、插入与查询数据、更新与删除数据等。然后讲解了一些常用的管理命令,例如备份和恢复数据库、查看连接信息等。文档还介绍了几个重要概念,像身份验证模式(Windows身份验证和SQL Server身份验证)、数据库文件(主数据文件.mdf和日志文件.ldf)以及系统数据库(master、model、msdb、tempdb)。最后给出了学习资源,包括官方文档、在线教程和图形界面工具,并强调了一些注意事项,如定期备份数据、防止SQL注入、生产环境不使用sa账户和保持系统更新。 适合人群:对数据库有一定兴趣或初步接触SQL Server 2016的初学者,以及需要在Windows环境下进行数据库管理的相关工作人员。 使用场景及目标:①帮助用户在Windows环境下顺利安装并使用SQL Server 2016;②掌握SQL Server 2016的基本操作,能够进行简单的数据库创建、数据表操作、数据增删改查等;③了解一些常用的管理命令,以便更好地管理和维护数据库;④熟悉重要的概念,为深入学习SQL Server打下基础。 阅读建议:由于本指南涵盖了从安装到使用的一系列流程,因此读者应按照章节顺序逐步学习,确保每个步骤都能正确操作。同时,可参考提供的学习资源进一步加深理解,在实践中不断巩固所学知识。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值