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