数据库简介

作者: 程序员必修课 | 来源:发表于2018-01-18 16:08 被阅读0次

数据库简介

表是二维的,
行是保存数据的,列则是记录数据中包含的内容
行也叫记录(Record)
列称为字段(Field)
表与表之间存在相连的关系

SQL可分为:

  • 数据定义语言(DDL):用于创建、修改、删除数据库对象(表,视图,索引,序列等)
  • 数据操作语言(DML):用于改变表中的数据,包括增删改
  • 事务控制语言(TCL):用来维护数据一致性的语句,包括提交,回滚,保存点等
  • 数据查询语言(DQL):用来査询所需要的数据,SELECT语句是重难点
  • 数据控制语言(DCL):用于执行权限的授予和收回操作

DDL

数据类型

NUMBER
表示数字类型,经常被定义成NUMBER(P,S)形式其中:

  • P表示数字的总位数,是包含了S的;
  • S表示小数点后面的位数,S可以没有;

CHAR
表示固定长度的字符类型:经常被定义成CHAR(N)形式:

  • N表示占用的字节数,最大长度是2000字节。

VARCHAR2
表示变长的字符类型(这是oracle独有的),定义格式是VARCHAR2(N):

  • N表示最多可占用的字节数,最大长度是4000字节,占用空间是变化的。

DATE
用于定义日期时间的数据

  • 长度是7个字节,默认格式是:DD-M0N-RR,例如:11-APR-71

RR的表示时间图如下

系统时间→ 0-49 50-99
0-49 本世纪 下世纪
50-99 上世纪 本世纪

以上是ORACLE的数据类型,MySQL的数据类型另起一章

创建表

CREATE语句
CREATE TABLE [schema.]table_name(column_name datatype[DEFAULT expr][...]
CREATE TABLE [schema.]表名(列名 类型[默认值 约束],列名 类型,...)

所有的表第一列都是id(除了关联关系表);
id:主键
特点:该列在整张表中每一行所保存的值都不相同,且必须有值(非空且唯一)
作用:区分表中每一条数据。
id name gender birth salary comm job manager deptno

数据库中字符串是单引号描述的,且区分大小写。

DESC语句
DESC table_name;查看表的结构

DEFAULT语句
可以通过DEFAULT子句给列指定默认值

NOT NULL
非空(Not Null)是一种约束条件,用于确保字段值不为空

修改表

修改表名:RENAME old name TO new name:
MySQL中为:RENAME TABLE old name TO new name:

增加列:
ALTER TABLE table_name ADD (column datatype [DEFAULT expr][, column datatype...])
列只能增加在最后,不能插入到现有的列中。

删除列:
ALTER TABLE table_name DROP (column)

修改列:
ALTER TABLE table_name MODIFY (column datatype [DEFAULT expr] [, column datatype...])
建表之后,可以改变表中列的数据类型、长度和默认值,修改仅对以后插入的数据有效。如果把长度由大改小,有可能不成功。

删除表

DROP TABLE table_name

DML

INSERT语句

INSERT INTO table_name[(column[, column...])] VALUES(value[, value...]);
如果不写column,则给所有字段添加数据,值的顺序和表中列的顺序必须一致。
VALUES里可以使用DEFAULT关键字作为值,作用:使用当前列的默认值
SELECT * FROM table_name 查看表中所有数据

UPDATE语句

UPDATE table_name SET column = value [, column = value]...
[WHERE condition];
如果没有WHERE子句,则全表的数据都会被更新,务必小心!

DELETE语句

DELETE [FROM] table_name [WHERE condition];
如果没有WHERE子句,则全表的数据都会被删除!
判断一个字段是否为空应该用IS NULL不能写成=NULL

事物的笼罩范围都在DML中

相关文章

网友评论

    本文标题:数据库简介

    本文链接:https://www.haomeiwen.com/subject/bfywoxtx.html