数据库之DDL语句

数据库之DDL语句

什么是数据库?

我们在软件的实现过程中,会产生很多的数据,比如我们在淘宝上下单,那么就会产生一条订单数据,我在银行卡存了5000块钱,那么同样也会产生一条数据,这些数据都会存放在数据库中的。那么我们常用的数据库就有很多,比如MySQL、SQLite、Oracle等等。

  • 其实不管是什么数据库,大部分的操作都是类似的。接下来的数据库我们将会以Oracle为例子来进行演示。

客户端的概念

我们在安装了数据库之后,其实,他就是开启了一个数据库服务,因此我们称之为数据库服务/或者数据库服务端。通常在公司里,数据库的服务会24小时提供服务,等待别人对他发送指令。
所以我们需要通过客户端来连接上我们的数据库服务,从而操作数据库。

  • 客户端工具有很多,比较常用的navicat、phpmyadmin、plsql、sqlyog等等

通过客户端连接上数据库需要知道如下内容:

连接数据库五要素
数据库服务器IP地址
数据库默认端口
数据库用户名
数据库密码
需要连接的数据库名称

表与库的概念

数据库是用来帮助我们管理数据的,那么他是通过什么方式来管理数据呢?最主要的就是通过表,就好像我们常用的excel表,每一列规定填写什么,然后一行一行的添加数据。也就是我们的数据,是存放在表中的,而表又是存放在库中的。

学号 姓名 年龄
1 王五 32
2 张三 23
3 李四 22

比如一个购物软件,我可以创建一个数据库用来存放整个购物软件的数据,而在这个库中,我又可以创建多个表(比如创建user表,用来存放用户的信息,order表用来存放订单信息等等)

认识SQL

SQL 是用于访问和处理数据库的标准的计算机语言。在SQL语言中,分为DDL语句和DML语句

DDL语句 对数据库的结构进行操作的语句,不会对具体的数据进行操作
DML语句 用于操作数据库对象中包含的数据。

对于我们而言,DML语句使我们最常用到的语句,几乎占到80%以上。

常见的数据类型

数据类型 含义 用法
number 数字类型 number 数字类型/整数或者小数都行
number(4) -9999~9999
number(4,2) -99.99~99.99
date 日期/时间 直接用date表示
char(长度) 定长字符串 比如,char(6)就表示6个字节长度的字符串
varchar2(长度) 变长字符串 比如,varchar2(6)表示最多6个字节长度字符串
若实际没有6个字节,则回收
  • 定长,不管你实际使用了多少。变长,根据你具体使用的长度来计算。
  • 一个英文字符 占用一个字节,一个中文字符 占用1-4个字节(编码格式)

约束条件

约束条件 含义
unique 唯一(值不能重复)
not null 非空(值不能为空)
check(条件) 检查约束(检查该列的值,是否满足括号中的条件)
default值 默认值约束(如果在新增数据时,没有给这一个列一个值,则读取默认值)
primary key 主键约束(包含了非空约束和唯一约束)
references 表(列) 外键约束(确保数据的有效性)

操作符

符号 含义
< 小于
> 大于
>= 大于等于
<= 小于等于
!= 不等于
and 并且, and左右两边条件需要同时成立
or 或者, or左右两边条件只需要成立一个即可
null 表示空

创建表的语法

create table 表名称(
列名1 数据类型 约束条件,
列名2 数据类型 约束条件,
列名3 数据类型 约束条件
);
  • ps(列与列之间用,分隔开)

比如:
创建一个员工表(users)
员工工号(id),员工姓名(name),员工的手机号码(tel),入职时间(hiredate),民族(nation),员工年龄(age)
要求如下:
id主键约束,员工姓名不能为空,手机号码必须唯一,民族默认为汉族,年龄默认为25岁,且年龄必须大于18岁

create table users(
id number primary key,
name varchar2(30) not null,
tel number(11) unique,
hiredate date,
nation varchar2(10) default '汉族',
age number(3) default 25 check(age > 18)
);

修改表的语法

增加列
alter table 表名 add(
列名1 数据类型 约束条件,
列名2 数据类型 约束条件,
列名3 数据类型 约束条件
);


比如说给stu表增加一列班级
alter table stu add(
class varchar2(30)
);
修改列
alter table 表名 modify(
列名1 数据类型 约束条件,
列名2 数据类型 约束条件,
列名3 数据类型 约束条件
);

将stu表的班级这一列数据类型修改为number
alter table stu modify(
class number
);
删除一列
alter table 表名 drop column 列名;

将stu表的class这一列删除
alter table stu drop column class;
发布了23 篇原创文章 · 获赞 32 · 访问量 5026

猜你喜欢

转载自blog.csdn.net/qq_45664055/article/details/105008990