MYSQL数据定义功能(DDL)

数据库的定义,选择和删除:

create database 数据库名;
use 数据库名;
drop database 数据库名;

数据表的定义和删除

create table表名;
drop  table 表名;
//创建一个名字为 s 的数据表
 create table s
    -> (sno char(6) not null unique,
    -> sname char(20) unique,
    -> sex char(1),
    -> age int);

该数据表由学号sno,学生姓名sname,性别sex,年龄age四个属性组成,因为学号是唯一的所以不能为空,并且值唯一,在名字不会重复的情况下,名字的取值为唯一。

数据类型(常用)

  • 整形 int
  • 浮点型 float double
  • 定长字符串 char(n)
  • 变长字符串 varchar(n)
  • 日期型 date

完整性约束(常用)

  • 主码约束 primary key
  • 参照完整性约束 foreign key (<属性>) references <表名>(<属性名>)
  • 唯一性约束 unquie
  • 非空值约束 not null
//查看数据表的数据结构
describe tables 数据表名;
//查看该数据库中的数据表
show tables;
//中止命令
ctrl+c

//为 s 表增加主键约束
alter table s add constraint primary key(sno);

//创建一个学生选课信息sc表
create table sc
    -> (sno char(6),
    -> cno char(6),
    -> grade int);

//添加主键约束(在sc表中学号和课程号一起才能唯一表示一个学生所选课程的信息)
alter table sc add constraint primary key(sno,cno);
//给sc表添加外键约束(fk是给外键起的名字),references参照了某个表的某些属性(参照了s表中的sno这一属性)
alter table sc add constraint fk foreign key(sno) references s(sno);

添加主码的方式

  1. 创建数据表的时候添加,在列出关系模式的属性时,在属性及其类型后加上保留字primary key
  2. 创建表的时候,在列出关系模式的所有属性后,再附加一个声明:primary key(<属性>,…)
  3. alter table 表明 add constraint primary key(<属性>,…)
//在创建s表的时候添加主键约束,在列出关系模式的属性时,在属性及其类型后加上保留字primary key
   -> (sno char(6) not null unique primary key,
    -> sname char(20) unique,
    -> sex char(1),
    -> age int);
    
//或者是在列出关系模式的所有属性后,再附加一个声明
 -> (sno char(6) not null unique,
    -> sname char(20) unique,
    -> sex char(1),
    -> age int->primary key(sno));
    
//第三种:上面的alter方法
alter table s add constraint primary key(sno);

添加外键约束的方法

  1. 创建数据表的时候添加,在列出关系模式的属性时,在属性及其类型后加上保留字foreign key
  2. 创建表的时候,在列出关系模式的所有属性后,再附加一个声明:primary key(<属性>,…)
  3. alter table 表明 add constraint primary key(<属性>,…)
//创建表的时候,在属性及其类型后添加
create table sc
    -> (sno char(6) references s(sno),
    -> cno char(6),
    -> grade int);
    
//创建表的时候,在列出关系模式的所有属性后,再附加一个声明
create table sc
    -> (sno char(6),
    -> cno char(6),
    -> grade int,
    -> foreign key(sno) references s(sno));
//以及上面用alter方法添加

删除主键和外键约束

alter table sc drop primary key;
alter table sc drop foreign key fk;

修改基本表
alter table <表名 > [add(增加新列和新的完整性约束条件),drop(删除指定的列或完整性约束条件),alter(用于修改列名和数据类型)];

alter table 表名 add <列名(属性)> <数据类型>[完整性约束] ;
【注】:若一个属性是非空值约束,则该属性不允许删除和修改

修改表中的数据类型
alter table 表名 modify <属性> <要修改成的数据类型>;
【注】:修改原有的列定义有可能会破坏已有数据

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值