【数据库】基础知识【MySql】

关系数据库标准语言MySQL

一. 关键词索引

关键词 语义
insert 插入(增)
delete 删除(删)
select 查询(查)
update 更新/修改(改)

二. 数据定义

操作对象 创建 删除 修改
模式 create schema drop schema
create table drop table alter table
视图 create view drop view
索引 create index drop index alter index

(一) 模式的定义与删除

Ⅰ. 定义模式

create schema<模式名>authorization<用户名>;

//例:为用户zhang创建一个模式test.
create schema test authorization zhang ;

Ⅱ. 删除模式

drop schema<模式名><cascade|restrict>;

//例:删除模式test.
drop schema test cascade
//该语句删除了test模式,同时,该模式中已经定义的表也>被删除了
  1. 选择了cascade,表示在删除模式的同时把模式中所有的数据库对象全部删除;
  2. 选择了restrict,只有在该模式中没有任何下属对象时才能执行删除语句;

(二) 基本表的定义,删除与修改

Ⅰ. 定义基本表

create table<表名>(<列名><数据类型>[列级完整性约束条件][,<列名><数据类型>[列级完整性约束条件]]
……
[,<表级完整性约束条件>]);
//例:建立一个“学生”表Student.
create table Student 
/*学号*/(Sno char(9) primary key,	/*列级完整性约束条件,Sno是主码*/
/*姓名*/Sname char(20) unique, 	/*Sname取唯一值*/
/*性别*/Ssex char(2),
/*年龄*/Sage smallint,
/*专业*/Sdept char(20));
	
//例:建立一个“课程”表Course.
create table Course
/*课程号*/(Cno char(4) primary key, 	/*列级完整性约束条件,Cno是主码*/
/*课程名*/Cname char(40) not null, 	/*列级完整性约束条件,Cname不能取空值*/
/*先行课*/Cpno char(4),
/*学分*/Ccredit smallint, 
	foreign key(Cpno) references Course(Cno)	/*表级完整性约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/
	);
	
//例:建立一个学生选课表SC.
create table SC
/*学号*/Sno char(9),
/*课程号*/Cno char(4),
/*成绩*/Grade smallint, 
	primary key(Sno, cno), 	/*主码由两个属性构成,必须作为表级完整性进行定义*/
	foreign key(Sno)references Student(Sno), 	/*表级完整性约束条件,Sno是外码,被参照表是Student*/
	foreign key(Cno)references Course(Cno)	/*表级完整性约束条件,Cno是外码,被参照表是Course*/
	);

Ⅱ. 数据类型

数据类型 含义
char(n), character(n) 长度为n的定长字符串
varchar(n), charactervarying(n) 最大长度为n的变长字符串
clob 字符串大对象
blob 二进制大对象
int, integer 长整数(4字节)
smallint 短整数(2字节)
bigint 大整数(8字节)
numeric(p, d) 定点数, 由p位数字(不包括符号,小数点)组成,小数点后面有b位数字
decimal(p, d), dec(p, d) 同numeric
real 取决于机器精度的单精度浮点数
double precision 取决于机器精度的双精度浮点数
float(n) 可选精度的浮点数,精度至少为n位数字
boolean 逻辑布尔量
date 日期,包括年,月,日,格式为YYYY-MM-DD
time 时间,包含一日的时,分,秒,格式为HH:MM:SS
timestamp 时间戳类型
interval 时间间隔类型

Ⅲ. 模式与表

🔷当定义基本表时,有三种方法定义它所属的模式;

  1. 在表名中明显给出模式名:
create table "S-T".Student(……);		/*Student所属的模式是S-T*/
  1. 在创建模式语句中同时创建表:
//例:为用户ZHANG创建了一个模式TEST,并且在其中>定义一个表TAB1
CREATE SCHEMA TEST AUTHORIZATION ZHANG 
CREATE TABLE TAB1 ( COL1 SMALLINT, 
	COL2 INT,
	COL3 CHAR(20),
	COL4 NUMERIC(10,3),
	COL5 DECIMAL(5,2));
  1. 设置所属的模式,这样可以在创建表时表名中不必给出模式名;

Ⅳ. 修改基本表

🔷<表名>:是要修改的基本表

alter table<列名>
[add [column]<新列名><数据类型>[完整性约束]]
[add<表级完整性约束>]
[drop [column]<列名>[cascade | restrict]]
[drop constraint<完整性约束名> [cascade | restrict]]
[alter column<列名><数据类型>];

🔷add子句:用于增加新列、新的列级完整性约束条件和新的表级完整性约束条件

  1. 向student表增加“入学时间”列,其数据类型为日期型;
alter table student
add 入学时间 Date
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

码字小萌新♡

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

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

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

打赏作者

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

抵扣说明:

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

余额充值