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

相关推荐
Facechat1 分钟前
鸿蒙开发入坑篇(九):本地数据库 (RDB) 深度解析
数据库·华为·harmonyos
Dxy12393102162 分钟前
MySQL删除表语句详解
数据库·mysql
uoKent11 分钟前
MySQL常见命令梳理大纲
数据库·mysql
晚霞的不甘23 分钟前
Flutter for OpenHarmony专注与习惯的完美融合: 打造你的高效生活助手
前端·数据库·经验分享·flutter·前端框架·生活
2301_7657031425 分钟前
工具、测试与部署
jvm·数据库·python
山岚的运维笔记31 分钟前
SQL Server笔记 -- 第13章:IF...ELSE
数据库·笔记·sql·microsoft·sqlserver
创客小邓37 分钟前
Qt对SQLite数据库的操作
数据库·qt·sqlite
中二病码农不会遇见C++学姐1 小时前
《文明6》Mod开发实战:从游戏日志定位和解决Mod加载问题
数据库·游戏·oracle
naruto_lnq1 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python
酉鬼女又兒1 小时前
SQL23 统计每个学校各难度的用户平均刷题数
数据库·sql·算法