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

相关推荐
Re.不晚16 分钟前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构
老邓计算机毕设26 分钟前
SSM智慧社区信息化服务平台4v5hv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·智慧社区、·信息化平台
麦聪聊数据1 小时前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构
2301_790300961 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
m0_736919101 小时前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
亓才孓1 小时前
[JDBC]PreparedStatement替代Statement
java·数据库
m0_466525292 小时前
绿盟科技风云卫AI安全能力平台成果重磅发布
大数据·数据库·人工智能·安全
爱学习的阿磊2 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
枷锁—sha2 小时前
【SRC】SQL注入快速判定与应对策略(一)
网络·数据库·sql·安全·网络安全·系统安全
惜分飞2 小时前
ORA-600 kcratr_nab_less_than_odr和ORA-600 4193故障处理--惜分飞
数据库·oracle