DDL(数据库定义语言)

本文详细介绍了DDL(数据库定义语言),包括如何创建、删除、查看和修改数据库,以及创建、查看、删除、修改和操作表的各种命令和语法示例,如CREATE、DROP、SHOW、ALTER等。
摘要由CSDN通过智能技术生成

DDL(数据库定义语言)

一 操作数据库

1.1创建数据库

​ 使用 create 命令创建数据库,语法如下:

CREATE DATABASE 数据库名;
//如果不存在创建,存在就不创建
create database if not exists 数据库名;

​ 例如:

CREATE DATABASE myschool;
create database if not exists myschool;
1.2删除数据库

​ 使用drop 命令删除数据库,语法如下:

drop database 数据库名;
//如果存在删除,不存在就不删除
drop database if exists 数据库名;

​ 例如:

drop database myschool;
drop database if exists myschool;
1.3查看所有数据库名称

​ 使用show关键字查看所有数据库名称,语法如下:

show databases;
1.4切换数据库

​ 使用use关键字切换数据库,语法如下:

	use 数据库名;
1.5修改数据库编码

​ 使用charset关键字修改数据库编码,语法如下:

alter database 数据库名 charset 字符集;

​ 注意:在MySQL中所有的UTF-8编码都不能使用中间的“-”,即UTF-8要书写为UTF8。

二、操作表

2.1创建表

​ 使用 create 命令创建数据表,语法如下:

CREATE TABLE[if not exists] 表名 (
    字段1 数据类型 [字段属性|约束] [索引] [注释],
    字段2 数据类型 [字段属性|约束] [索引] [注释],
    ......
    字段n 数据类型 [字段属性|约束] [索引] [注释],
);

​ 例如:

CREATE TABLE `student`(
	`studentNo` INT(4) NOT NULL COMMENT `学号` PRIMARY KEY,			#非空,主键
	`loginPwd` VARCHAR(20) NOT NULL COMMENT `密码`,
	`studentName` VARCHAR(50) NOT NULL COMMENT `学生姓名`,
	`sex` CHAR(2) DEFAULT `男` NOT NULL COMMENT `性别`,   #非空,默认值男
	`gradeId` INT(4) UNSIGNED COMMENT `年级编号`,  #无符号数
	`phone` VARCHAR(50) COMMENT `联系电话`,
	`address` VARCHAR(255) DEFAULT `地址不详` COMMENT `地址`,   #默认值“地址不详”
	`bornDate` DATETIME COMMENT `出生日期`,
	`email` VARCHAR(50) COMMENT `邮件账号`,
	`indetityCard` VARCHAR(18) UNIQUE KEY COMMENT`身份证`   #唯一
) COMMENT=Student; #表注释“学生表”
2.2查看当前数据库所有表名称
show tables;
2.3查看表结构
desc 表名;
2.4删除表

​ 使用drop 命令删除表,语法如下:

drop table 表名;
//如果存在删除,不存在就不删除
drop table if exists table;

​ 例如:

drop table result;
drop table if exists result;
2.5修改表

​ (1)删除表的字段

​ 使用了 ALTER 命令及 DROP 子句来删除以上创建表的字段,语法如下:

ALTER TABLE 表名 DROP 字段名;

​ 例如:

//删除result表中studentResult字段
ALTER TABLE result DROP studentResult;

注:如果数据表中只剩余一个字段则无法使用DROP来删除字段

​ (2)添加表的字段

​ 使用 ADD 子句来向数据表中添加列,语法如下:

ALTER TABLE 表名 ADD 字段名 数据类型[属性];

​ 例如:

//向result表中添加studentResult字段
ALTER TABLE result ADD studentResult INT not null;

​ (3)修改表名

​ 在 ALTER TABLE 语句中使用 RENAME 子句来实现,语法如下:

ALTER TABLE 旧表名 RENAME TO 新表名;

​ 例如:

ALTER TABLE demo01 RENAME TO demo02;

​ (4)修改表字段

​ 在ALTER命令中使用 CHANGE 子句 ,语法如下

ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型[属性];

​ 例如:

ALTER TABLE result CHANGE resultname01 resultname02 INT not null;

​ (5)添加主外键

​ 添加主键约束,语法如下:

ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(主键字段);

​ 例如:

//将grade表中的gradeId设置为主键
ALTER TABLE grade ADD CONSTRAINT pk_grade PRIMARY KEY grade(gradeId);

​ 添加外键约束,语法如下:

ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段) REFERENCES 关联表名(关联字段);

​ 例如:

//设置student表的gradeId字段与grade表的gradeId字段建立主外键关联
ALTER TABLE student ADD CONSTRAINT fk_student_grade FOREIGN KEY(gradeId) REFERENCES grade(gradeId);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值