SQL语言基础操作与语法

简介: 1.SQL简介SQL是用于访问和处理数据库的标准计算机语言.SQL是Structured Query Language的缩写,是结构化查询语言简单易学功能强大只需要说明做什么,不需要说明如何做标准化。SQL语言几乎所有的DBMS(关系数据库)都能通用不区分大小写

1.SQL简介


SQL是用于访问和处理数据库的标准计算机语言.SQL是Structured Query Language的缩写,是结构化查询语言

简单易学

功能强大

只需要说明做什么,不需要说明如何做

标准化。SQL语言几乎所有的DBMS(关系数据库)都能通用

不区分大小写


2.创建表


我们直接用实例来认识并学习SQL语言。先从创建表开始——


2.1创建部门表:


create table dept(
    deptno int primary key,
    dname varchar(9),
    loc varchar(10)
);

这就是SQL语言的样式。我们发现其和JavaScript有些许相似——

语句块结尾用;结束

不同参数间用,分隔

用括号将一个类似“函数”的操作的参数包裹起来

……

其创建的表便是如下的形式:三列,每列代表一个信息,每行的是记录,需要我们一个个后期添加或者批量导入:


部门编号(deptno) 部门名称(dname) 部门所在位置(location)
1 X1部 。。
2 X2部 。。


我们一句一句看

首先create table就是我们的创建表命令,dept是我们命名这张表的名称

deptno是第一列的名字,代表我们的部门编号。int代表整数类型。由于编号需要不重复,我们设置primary key主键类型,表示其不能重复

dname同理就是我们部门名称列的名字。varchar(9)表示长度变化的字符串类型,传入的参数9表示其最大的长度值为9

loc列同理,只不过现在最大长度变成10了


2.2创建员工表


create table employees(
    empno int primary key,
    name char(10) not null,
    deptno int,
    manager int,
    hiredate date,
    salary numeric(7,2)
);


这个和上面的差不多了.不过我们注意到这里多了一些东西---

not null表示这个字段(也就是列)的数据值不能为空

date就是时间类型的数据

char(n)和之前varchar(n)的主要区别就是char是固定长度为n的字符串,之前的是最大长度为n的可变字符串

numeric(x,y)表示一个数值型的数据,x代表的是数字的长度,y代表的是小数的长度。

接下来我们把这张表用可视化的方式举个例子(注意是举个例子而不是程序输出结果哦)

员工号empno name deptno manager hiredate salary
1 掘金酱 掘金吉祥物 张一鸣 2020-01-01 9999.99
...

tips:

注意这里的小数点也算一位的哦

所谓固定长度的char类型其实就是把小于该长度的空间都用空格占位了而已。而varchar则是变长类型,会自适应小于n的字符长度。这里由于markdown规则,要体现空格占位比较麻烦,就不在表格里演示了

varchar和char还有一个比较大的区别就是char最大长度是255字符,varchar最大长度是65535个字节

注意最后一个参数设置完毕之后不需要再加,分隔了哦


2.3创建经理表


员工号 头衔
6 掘金运营经理
...

如果要做出这种类型的表格如何实现呢?

其实和上面两种表格的操作的是一样的——

create table managers(
    empno int primary key,
    title varchar(16)
);

无非是把员工号设置成主键,以防止重复


3.insert插入


数据库是需要实时更新的。当我们需要往表中插入新的记录时,就需要用到insert语句来实现


3.1 为所有字段添加值


这个时候不需要指定字段名称——

insert into 表名 values (字段1的值,字段2的值,……);

我们可以看出,这里虽然不需要指明字段的名称(也就是列的名字),但是我们要保证插入的数据值要与表中字段的名字顺序相同,这样才能对应起来。否则便把记录的值添加到不对应的列了


3.2 为指定的字段添加值


这个时候自然需要你指定出字段的名字——

insert into 表名(字段1名字,字段2名字,字段3名字,...) values(字段1的值,字段2的值,字段3的值,...);


4.主键


5.select查询


当我们需要调用数据的时候,就需要用到select来帮助我们查询相关记录了


5.1查询表中所有字段

select * from 表名

5.2查询表中指定字段

select 字段1,字段2 from 表名

5.3 distinct关键字去重复值


在查询的时候,当我们希望看看有多少不同的值的时候,可以用distinct来去除重复值。

select distinct 字段名 from 表名

注意这里是在select语句中加入了distinct关键字,获得的是去掉重复项的返回值,而非改变原来表里的数据


篇章小结


以上就是SQL语言中最常见操作的基础语法了。掌握这些是最最基本的。之后很多的操作都是在这些操作上进行改动变化的。下期开始我们将引入逻辑控制语句和一些相对需要理解的语句


相关文章
|
2月前
|
SQL 关系型数据库 MySQL
在MySQL中,什么是结构化查询语言 (SQL)
【8月更文挑战第20天】在MySQL中,什么是结构化查询语言 (SQL)
42 1
|
2月前
|
SQL 关系型数据库 MySQL
|
2月前
|
SQL 存储 大数据
SQL 语言发展史简直太震撼啦!从诞生到现代数据处理,见证一场奇妙的演变之旅,快来感受!
【8月更文挑战第31天】SQL(结构化查询语言)自20世纪70年代由IBM研究员E.F. Codd提出以来,已成为现代数据处理不可或缺的一部分。它最初简化了层次和网状模型中复杂的存储与检索问题,通过基本的SELECT、FROM和WHERE关键字实现了数据查询。80年代,SQL在商业数据库中广泛应用,引入了GROUP BY、HAVING和ORDER BY等功能,增强了数据分析能力。90年代,互联网和企业信息化推动了SQL的进一步优化与扩展,支持分布式数据库和数据仓库等技术。
31 0
|
2月前
|
SQL 存储 NoSQL
从SQL到NoSQL:理解不同数据库类型的选择与应用——深入比较数据模型、扩展性、查询语言、一致性和适用场景,为数据存储提供全面决策指南
【8月更文挑战第31天】在信息技术飞速发展的今天,数据库的选择至关重要。传统的SQL数据库因其稳定的事务性和强大的查询能力被广泛应用,而NoSQL数据库则凭借其灵活性和水平扩展性受到关注。本文对比了两种数据库类型的特点,帮助开发者根据应用场景做出合理选择。SQL数据库遵循关系模型,适合处理结构化数据和复杂查询;NoSQL数据库支持多种数据模型,适用于非结构化或半结构化数据。SQL数据库在一致性方面表现优异,但扩展性较差;NoSQL数据库则设计之初便考虑了水平扩展性。SQL使用成熟的SQL语言,NoSQL的查询语言更为灵活。
46 0
|
2月前
|
SQL 数据可视化 数据挖掘
SQL 在数据分析中简直太牛啦!从数据提取到可视化,带你领略强大数据库语言的神奇魅力!
【8月更文挑战第31天】在数据驱动时代,SQL(Structured Query Language)作为强大的数据库查询语言,在数据分析中扮演着关键角色。它不仅能够高效准确地提取所需数据,还能通过丰富的函数和操作符对数据进行清洗与转换,确保其适用于进一步分析。借助 SQL 的聚合、分组及排序功能,用户可以从多角度深入分析数据,为企业决策提供有力支持。尽管 SQL 本身不支持数据可视化,但其查询结果可轻松导出至 Excel、Python、R 等工具中进行可视化处理,帮助用户更直观地理解数据。掌握 SQL 可显著提升数据分析效率,助力挖掘数据价值。
44 0
|
2月前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
162 0
|
2月前
|
SQL Java 数据库连接
|
2月前
|
SQL 数据库 索引
SQL语言入门:如何表达你的数据需求
在数据库的世界里,SQL(Structured Query Language)是一种至关重要的语言,它允许用户与数据库进行交互,执行数据的查询、更新、插入和删除等操作
|
存储 SQL 关系型数据库
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 12 章 全文搜索_12.9. GIN 和 GiST 索引类型
12.9. GIN 和 GiST 索引类型 有两种索引可以被用来加速全文搜索。注意全文搜索并非一定需要索引,但是在一个定期会被搜索的列上,通常需要有一个索引。 CREATE INDEX name ON table USING GIN(column); 创建一个基于 GIN(通用倒排索引)的索引。
1620 0
|
SQL 关系型数据库 PostgreSQL
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 11 章 索引_11.2. 索引类型
11.2. 索引类型 PostgreSQL提供了多种索引类型: B-tree、Hash、GiST、SP-GiST 、GIN 和 BRIN。每一种索引类型使用了 一种不同的算法来适应不同类型的查询。
1381 0