SQL语言基础操作与语法

148 阅读5分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情

✔个人主页:Mr.Darcy8的掘金主页

🎉欢迎关注👀点赞👍收藏⭐留言📝以及交流人生哲理🎈学习心得🎁

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)
1X1部。。
2X2部。。

我们一句一句看

  • 首先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代表的是小数的长度。

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

员工号empnonamedeptnomanagerhiredatesalary
1掘金酱掘金吉祥物张一鸣2020-01-019999.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语言中最常见操作的基础语法了。掌握这些是最最基本的。之后很多的操作都是在这些操作上进行改动变化的。下期开始我们将引入逻辑控制语句和一些相对需要理解的语句

新人上路,欢迎互相帮扶~Mr_darcy8的掘金主页

可以的话给咱点个赞呗💖