SQL 怎么学?

什么是SQL?

问题的预设条件是**没有任何基础,**也就是说不知道SQL到底到能做什么。

那么有必要给SQL一个定义:SQL是一种从关系型数据库生成 、操作 和检索数据的语言,是与数据库进行数据交互的媒介,它能够轻巧的窥探大数据集,按照你想要的方式蹂躏数据。当然这一切的前提是,你能够编写自己的SQL语句。

先给一个最直观的解释:

DBMS为数据库管理系统

SQL语言可以分为三类:

  • 用于定义数据结构的语句称为SQL方案语句 ,比如 CREATE TABLE student...
  • 用于创建、操作、检索数据库中数据的语句称为SQL数据语句,比如 INSERTE INTO student...
  • 用于开始、结束、或回滚事务的语句称为SQL事务语句

简单理解,方案语句是建造数据的壳,例子中创建了表student;数据语句是处理数据,例子中向表student插入了数据,事务语句就是解决多个SQL执行时的纠纷问题。

如果你是数据库管理员,那么你需要同时掌握模式语句、数据语句和事务语句,但如果你只是使用数据的分析师、程序员,则只需要掌握数据语句就行了。

SQL不能像编程语言一样,使用变量、条件逻辑、循环结构等对过程进行定义,以获得想要的结果。SQL直来直去,只要定义必要的输入输出,没有对过程的控制。

如果你还搞不明白SQL是什么?那么请看这里:

SQL 简介 | 菜鸟教程​www.runoob.com/sql/sql-intro.html

SQL的数据类型和主要语法!

第一步:下载安装MySQL,教程网上资源丰富,学会简单命令行操作

第二步:下载安装数据库管理工具,推荐Navicat,连接数据库后,打开用户界面

第三步:以下

SQL是面向数据库的语言,那么必然是要有数据类型的区分。

数据库管理员必须在创建 SQL 表时决定表中的每个列将要存储的数据的类型。数据类型是一个标签,是便于 SQL 了解每个列期望存储什么类型的数据的指南,它也标识了 SQL 如何与存储的数据进行交互。

这里针对MySQL的数据类型作讲解

  1. **字符数据:**char() 最大长度255个字节、varchar()最大长度65535个字节
  2. **文本数据:**tinytext 最大长度255个字节、text 最大长度65535个字节、mediumtext、longtext
  3. **数值数据-整数类型:**tinyint、smallint、mediumint、int、bigint
  4. 数值数据-浮点类型: float、double
  5. **时间类型:**date、datetime、timestamp、year、time

下面是基础语法

创建表操作:

若要创建一个名为student的表,里面有name和age两列,name列为字符型,age列为整数型

SQL语句为

CREATE TABLE student(name VARCHAR(20),age INT(20))

插入数据:

向表student中插入数据

SQL语句为

INSERT INTO student(name,age) VALUES('小明',23);

INSERT INTO student(name,age) VALUES('小刚',21);

INSERT INTO student(name,age) VALUES('小红',22)

查询并过滤数据:

查询年龄小于23岁的数据行

SQL语句为

SELECT * FROM student WHERE age < 23

结果

删除数据中某一行:

删除小明这一行

SQL语句为

DELECT FROM student WHERE name='小明'

删除表:

删除student表

SQL语句为

DROP TABLE student

更多语法在教程里会有详细说明,这里不再赘述!

附上知友小小酥的SQL学习思维导图,仅供学习参考:

相关推荐
多客:duokelijie6 分钟前
代练订单系统选型思路:跨品类游戏接入、订单分层管理、自动结算逻辑拆解!
数据库·mysql·微信小程序·前端框架·uni-app·php·持续部署
PingCAP7 分钟前
平凯星辰上榜!2026 年胡润全球独角兽企业
数据库
PingCAP9 分钟前
轨道交通 AFC 系统升级,平凯 Loop 把跨部门协同变成可追溯闭环
数据库
java_logo1 小时前
Docker 部署 CloudBeaver:轻松搭建网页数据库管理平台
数据库·docker·容器·数据库管理·dbeaver·轩辕镜像·cloudbeaver
李白客3 小时前
AI 数据库落地 NL2SQL:准确率卡在四成,问题在表注释不在模型
数据库
FluxDB3 小时前
FluxDB vs DBX vs DBeaver:GPUI、Tauri、Eclipse 三种技术栈实测
数据库·mysql
杨航 AI3 小时前
JEV的用法
java·前端·数据库
数据库小学妹3 小时前
MySQL分页结果不稳定:唯一键兜底与游标分页
数据库·mysql·dba
风翼靓崽4 小时前
mysql数据备份/恢复
数据库·mysql
木棉软糖4 小时前
5 步确认 TiDB 历史抽数的 Logstash 有没有真的写进 ES
elasticsearch·oracle·tidb