3.DDL

数据库

1.查看所有数据库名称

show databases;

如下图所示,infornation_schema、mysql、performance_schema以及sys都是mysql自带的系统级数据库。
在这里插入图片描述

2.创建数据库

create database if not exists databaseName character set = utf8;

如下图所示,创建mydb数据库之后,通过命令查看当前系统中所含有的所有数据库。
在这里插入图片描述

3.查看创建数据库的语句

show create database databaseName;

如下图所示,查看名为mydb数据库的创建语句。
在这里插入图片描述

4.使用数据库

use databaseName;

如下图所示,使用名为mydb数据库的命令。
在这里插入图片描述

5.查看当前所使用的数据库

select database();

如下图所示,查询当前所使用的数据库命令。
在这里插入图片描述

6.删除数据库

drop database if exists databaseName;

如下图所示,删除student数据库之后,只剩下系统级的四个数据库。
在这里插入图片描述

数据表

1.数据类型
在创建数据表时,准确的定义字段的数据类型是非常重要的。 MySQL支持多种数据类型,但大致可以分为3类:数值、日期和字符串类型。

类型所占字节数说明
tinyint1小整数值
smallint2大整数值
mediumint3大整数值
int4大整数值
bigint8极大整数值
float4单精度浮点数值
double8双精度浮点数值
decimalMax(D+, M+)含小数值,例如金额
类型所占字节数说明
date3YYYY-MM-DD
time3HH:MM:SS
year1YYYY
datetime8YYYY-MM-DD HH:MM:SS
timestamp8YYYYMMDDHHMMSS
类型所占字节数说明
char0~255定长字段串
varchar0~65535变长字符串
text0~65535长文本数据
blob二进制形式的文本数据

2.查看所有数据表名称

show tables;

如下图所示,选择mydb数据库,查看其含有的数据表,因为还没有创建数据表,所以查询结果为空。
在这里插入图片描述

3.创建数据表

create [temporary] table [if not exists] tableName
[(definition,)] 
[toptions]
[statement] 
  • temporary:表示创建临时表,在当前会话结束后将自动消失。
  • if not exists:在建表前,先判断表是否存在,只有该表不存在时才创建。
  • definition:建表语句的关键部分,用于定义表中各列的属性。
  • options:表的配置选项,如表的默认存储引擎、字符集。
  • statement:通过select语句建表。

如下图所示,创建contacts数据表,然后查询数据库含有的表名称,查询结果为contacts。
在这里插入图片描述

4.查看创建数据表的语句

show create table tableName;

如下图所示,查看名为contacts数据表的创建语句。
在这里插入图片描述

5.删除数据表

drop table tableName;

如下图所示,删除名为contacts的数据表之后,通过show tables命令查看当前数据库所拥有的数据表,结果为空。
在这里插入图片描述

6.添加单列

alter table tableName add column columnName defination first | after columnName;

如下图所示,在contacts数据表的name列后添加一列age,数据类型为int。
在这里插入图片描述

7.修改列名称

alter table tableName change older newer defination first | after columnName;

如下图所示,将contacts数据表的phone列名称修改为mobile,数据类型为varchar。
在这里插入图片描述

8.修改列定义

alter table tableName modify columnName defination first | after columnName;

如下图所示,将contacts数据表的mobile列的长度由11修改为16。
在这里插入图片描述

9.修改表名称

alter table tableName rename newName;

如下图所示,将contacts数据表的名称修改为contact。
在这里插入图片描述

数据完整性

1.数据完整性
数据完整性是指存储在数据库中的数据,应该保持一致性和可靠性。
关系模型允许定义三类数据约束,它们是实体完整性、参照完整性以及用户自定义的完整性约束,其中前两种完整性约束由关系数据库系统自动支持。

2.实体完整性
实体就是现实世界中的某个对象,RDBMS中一行代表一个实体。实体完整性就是保证每一个实体都能被区别。实体完整性要求每张表都有唯一标识符,每张表中的主键字段不能为空且不能重复。

3.参照完整性
主要是表与表之间的关系,可以通过外键来实现。参照完整性要求关系中不允许引用不存在的实体。

4.域完整性
域完整性主要是对列的输入有要求,通过限制列的数据类型、格式或值的范围来实现。域完整性是针对某一具体关系数据库的约束条件,它保证表中某些列不能输入无效的值。域完整性指列的值域的完整性,如数据类型、格式、值域范围、是否允许空值等。

5.用户自定义完整性
借助存储过程和触发器实现。用户自定义完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。

6.约束

  • 主键约束
    alter table tableName add constraint primary key(...);
    alter table tableName drop primary key;
    
  • 外键约束
    alter table tableName add contraint foreign key(...) references tablename;
    alter table tableName drop foreign key ...;
    
  • 默认值约束
    alter table tableName alter colimnname set default value;
    alter table tableName alter columbbane drop default;
    
  • 唯一键约束
    alter table tableName add constraint unique key(...);
    alter table tableName drop index ...;
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值