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学习思维导图,仅供学习参考:

相关推荐
HAWK eoni7 分钟前
Mysql 驱动程序
数据库·mysql
二哈赛车手19 分钟前
新人笔记---实现简易版的rag的bm25检索(利用ES),以及RAG上传时的ES与向量数据库双写
java·数据库·笔记·spring·elasticsearch·ai
何中应29 分钟前
CentOS 7安装、卸载MySQL数据库(二)
数据库·mysql·centos
KmSH8umpK39 分钟前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第六篇
数据库·redis·分布式
梁萌1 小时前
mysql使用事件做日志表数据转移
数据库·mysql
lThE ANDE1 小时前
MySQL中的TRUNCATE TABLE命令
数据库·mysql
kexnjdcncnxjs1 小时前
Redis如何记录每一次写操作_开启AOF持久化机制实现命令级追加记录
jvm·数据库·python
逸Y 仙X2 小时前
文章十九: ElasticSearch Full Text 全文本查询
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
STER labo2 小时前
mysql配置环境变量——(‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件解决办法)
数据库·mysql·adb
微软技术分享2 小时前
本地部署千问 2.5-1.5B-GGUF + LangChain 封装学习
数据库·学习·langchain