【MySQL篇】数据库基础学习文档(1)

目录

一、数据定义

二、模式的定义与删除

1、创建模式

2、删除模式

三、数据类型

四、表的定义、删除、修改

1、表的定义

2、表的修改

3、表的删除

五、模式与表的关系


一、数据定义

创建删除修改
模式CREATE SCHEMADROP SCHEMA
CREATE TABLEDROP TABLEALTER TABLE
视图CREATE VIEWDROP VIEW
索引CREATE INDEXDROP INDEXALERT INDEX

一个关系数据库管理系统的实例中可以建立多个数据库,一个数据库中可以建立多个模式,一个模式下通常包括多个表、视图和索引等数据库对象。

二、模式的定义与删除

1、创建模式

CREATE SCHEMA <模式名> AUTHORIZATION <用户名> [<表定义句子>|<视图定义句子>|<授权定义句子>];

CREATE:创建

SCHEMA:模式

AUTHORIZATION:授权

CREATE SCHEMA cat AUTHORIZATION yellowcat;
/*创建名为cat的模式,并且授权给yellowcat这个用户*/

2、删除模式

DROP SCHEMA <模式名> [CASCADE | RESTRICT];

CASCADE 与 RESTRICT 必须二选一
CASCADE(级联):删除模式,同时把该模式中所有的数据库对象全部删除。
RESTRICT(限制):删除模式,但是如果该模式中还存在有数据,则会报错。

DROP SCHEMA cat CASCADE;
/*删除名为cat的模式,如果cat模式中存有数据库对象,数据库对象也一并删除*/

DROP SCHEMA cat RESTRICT;
/*删除名为cat的模式,如果cat模式中存有数据库对象,则会报错*/

三、数据类型

CHAR(n),CHARACTER(n):长度为n的定长字符串。

VARCHAR(n),CHARACTERVARYING(n):最大长度为n的变长字符串。

INT,INTEGER:长整数(4字节)。

SMALLINT:短整型(2字节)。

BIGINT:大整数(8字节)。

DATE:日期(包含年月日,格式YYY-MM-DD)。

TIME:时间(包含时分秒,格式为HH:MM:SS)。

BOOLEAN:逻辑布尔量。

FLAOT(n):可选精度的浮点数,精度最少为n位数字。

四、表的定义、删除、修改

1、表的定义

CREATE TABLE <表名> (

<列名><数据类型>[列级完整性约束条件],

<列名><数据类型>[列级完整性约束条件],

<列名><数据类型>[列级完整性约束条件],

[表级完整性约束条件]);

主码由一个属性构成的表:

CREATE TABLE TAB1(
COL1 CHAR(20) PRIMARY KEY,
/*COL1数据类型为长度为20的定长字符串,列级完整性约束条件:COL1为主码*/
COL2 INT UNIQUE,
/*列级完整性约束条件:取值唯一,且不为空*/
COL3 SMALLINT,
);

主码由多个属性构成的表:

CREATE TABLE TAB2(
COL1 INT NOT NULL,
/*列级完整性约束条件:COL1不能为空*/
COL2 CHAR(4),
COL3 CLOB,
PRIMARY KEY (COL1,COL2,COL3),
/*主码由三个属性构成,必须作为表级完整性进行定义*/
FOREING KEY (COL1) REFERENCES TAB1 (COL2),
/*表级完整性约束条件,COL2是外码,被参照表是TAB1*/
); 

注:参照表和被参照表可以是同一个表

外码:
1.外码是另外一个表的主码;
2.插入数据是必须先给所关联外码的那个表插入数据;
3.报错的原因是插入的某个属性在所关联外码表中找不到。
 外码的意义是:保证两个表之间的数据的一致性,例如:职工表中的部门号,必须在部门表中存在。

2、表的修改

ALTER TABLE <表名> 

[ADD [COLUMN] <新列名> <数据类型> [完整性约束条件]]        /*增加一个列*/

[ADD <表级完整性约束>]        /*添加新的表级完整性约束*/

[DROP [COLUMN] <列名> [CASCADE | RESTRICT]]        /*删除列*/

[DROP CONSTRAINT <完整性约束名> [RESTRICT | CASCADE]]                                                 /*用于删除指定的完整性约束条件*/
/*CASCADE 只要有关联的都删除,RESTRICT 如果该列被其他列引用,则拒绝删除,系统报错*/

[ALTER COLUMN <列名><数据类型>];        /*用于修改原有的列定义,包括列名和数据类型*/

ALTER TABLE TAB1 ADD COL4 INT;
/*添加新列“COL4”,数据类型为INT*/
/*不论基本表中原来是否已有数据,新增的列一律为空值*/


ALTER TABLE TAB1 ALTER COLUMN COL4 CHAR(4);
/*将表中的COL4列的数据类型改为了CHAR(4)*/


ALTER TABLE TAB1 ADD UNIQUE(CIL4);
/*增加COL4取值必须唯一的完整性约束条件*/


ALTER FOREIGN KEY (COL4) REFERENCES TAB2(COL2);
/*增加表级完整性约束条件*/

3、表的删除

DROP TABLE <表名> [RESTRICT | CASCADE];

DORP TABLE TAB1 RESTRICT;
/*RESTRICT 如果该列被其他列引用,则拒绝删除,系统报错*/

DORP TABLE TAB2 CASCADE;
/*CASCADE 只要有关联的都删除*/

五、模式与表的关系

每一个基本表都属于某一个模式,一个模式包含多个基本表。

创建基本表(其他数据库对象也一样)时,若没有指定模式,系统会根据搜索路径来确定该对象所属模式。

(1)显示当前搜索路径

SHOW search_path;

(2)搜索路径的当前默认值是:

$user , PUBLIC;

(3)DBA用户可以设置搜索路径:

SET search_path T0 "S-T", PUBLIC;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只大黄猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值