欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

3.DDL

程序员文章站 2024-03-21 16:32:28
...

数据库

1.查看所有数据库名称

show databases;

如下图所示,infornation_schema、mysql、performance_schema以及sys都是mysql自带的系统级数据库。
3.DDL

2.创建数据库

create database if not exists databaseName character set = utf8;

如下图所示,创建mydb数据库之后,通过命令查看当前系统中所含有的所有数据库。
3.DDL

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

show create database databaseName;

如下图所示,查看名为mydb数据库的创建语句。
3.DDL

4.使用数据库

use databaseName;

如下图所示,使用名为mydb数据库的命令。
3.DDL

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

select database();

如下图所示,查询当前所使用的数据库命令。
3.DDL

6.删除数据库

drop database if exists databaseName;

如下图所示,删除student数据库之后,只剩下系统级的四个数据库。
3.DDL

数据表

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

类型 所占字节数 说明
tinyint 1 小整数值
smallint 2 大整数值
mediumint 3 大整数值
int 4 大整数值
bigint 8 极大整数值
float 4 单精度浮点数值
double 8 双精度浮点数值
decimal Max(D+, M+) 含小数值,例如金额
类型 所占字节数 说明
date 3 YYYY-MM-DD
time 3 HH:MM:SS
year 1 YYYY
datetime 8 YYYY-MM-DD HH:MM:SS
timestamp 8 YYYYMMDDHHMMSS
类型 所占字节数 说明
char 0~255 定长字段串
varchar 0~65535 变长字符串
text 0~65535 长文本数据
blob 二进制形式的文本数据

2.查看所有数据表名称

show tables;

如下图所示,选择mydb数据库,查看其含有的数据表,因为还没有创建数据表,所以查询结果为空。
3.DDL

3.创建数据表

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

如下图所示,创建contacts数据表,然后查询数据库含有的表名称,查询结果为contacts。
3.DDL

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

show create table tableName;

如下图所示,查看名为contacts数据表的创建语句。
3.DDL

5.删除数据表

drop table tableName;

如下图所示,删除名为contacts的数据表之后,通过show tables命令查看当前数据库所拥有的数据表,结果为空。
3.DDL

6.添加单列

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

如下图所示,在contacts数据表的name列后添加一列age,数据类型为int。
3.DDL

7.修改列名称

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

如下图所示,将contacts数据表的phone列名称修改为mobile,数据类型为varchar。
3.DDL

8.修改列定义

alter table tableName modify columnName defination first | after columnName;

如下图所示,将contacts数据表的mobile列的长度由11修改为16。
3.DDL

9.修改表名称

alter table tableName rename newName;

如下图所示,将contacts数据表的名称修改为contact。
3.DDL

数据完整性

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 tablre tableName alter columbbane drop default;
    
  • 唯一键约束
    alter table tableName add constraint unique key(...);
    alter table tableName drop index ...;
    
相关标签: 从头开始学MySQL

推荐阅读