开启掘金成长之旅!这是我参与「掘金日新计划 · 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) |
|---|---|---|
| 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语言中最常见操作的基础语法了。掌握这些是最最基本的。之后很多的操作都是在这些操作上进行改动变化的。下期开始我们将引入逻辑控制语句和一些相对需要理解的语句
新人上路,欢迎互相帮扶~Mr_darcy8的掘金主页
可以的话给咱点个赞呗💖