1. DDL-操作数据库
首先要学习的是使用DDL来对数据库进行操作,和以往一样,对数据进行操作时,我们主要是对数据进行增删改查,同样,我们使用DDL操作数据库也主要是对数据库进行增删改查操作。
1.1 查询
查询所有的数据库:
show databases;
小案例:
1.2 创建数据库
创建新的数据库:
create database 数据库名称;
使用上面的方式创建新的数据库时,如果该数据库已经存在,则会出现错误,所以我们在创建新的数据库时一般会判断该数据库是否存在,如果已存在,则不会创建。
创建新的数据库(判断数据库是否已经存在):
create database if not exists 数据库名称;
小案例:
1.3 删除数据库
删除数据库:
drop database 数据库名称;
和前面创建新的数据库相同,为了避免出现错误,我们一般会先判断该数据库是否存在,如果不存在,则不会删除。
删除数据库(判断数据库是否已经存在):
drop database if exists 数据库名称;
小案例:
1.4 使用数据库
接下来,我们要想在数据库中创建表,首先我们要明白是对哪一个数据库进行操作,此时我们先要使用数据库,才能对数据库中的表进行操作。
使用数据库:
use 数据库名称;
查询当前正在使用的数据库:
select database();
小案例:
2. DDL-操作数据表
2.1 数据类型
在学习相关数据表的增删改查操作之前,我们先要熟悉一下MySQL的数据类型。
MySQL支持多种数据类型,但是大致可以分为3种,分别是数值型,日期型和字符串型。下面是比较常用的几种数据类型:
数值:
数据类型 | 解释 |
---|---|
tinyint | 小整数型,占1个字节 |
int | 大整数型,占4个字节 |
double | 浮点类型 |
日期:
数据类型 | 解释 |
---|---|
date | 日期值,只包含年月日 |
datetime | 混合日期和时间值,包含年月日时分秒 |
字符串:
数据类型 | 解释 |
---|---|
char | 定长字符串 |
varchar | 变长字符串 |
定长字符串和变长字符串的区别:字符串是我们在数据库中经常使用的数据类型,使用变长字符串,如果字符的长度没有达到指定的长度,那么实际的长度是多少就占用几个字符,这样的做法显然是使用时间换空间,而使用定长字符串虽然会浪费空间,但是一般储存性能比较高。
2.2 查询表
查询当前数据库下所有的表:
show tables;
查询表结构:
desc 表名称;
小案例:
2.3 创建表
创建一个新的表:
create table 表名称(
字段名1 数据类型,
字段名2 数据类型,
...
字段名n 数据类型 #这里是不需要加上,的
);
小案例:
2.4 删除表
删除表:
drop table 表名;
删除表(判断表是否存在):
drop table if exists 表名;
小案例:
2.5 修改表
修改表名:
alter table 表名 rename to 新的表名;
增加一列:
alter table 表名 add 列名 数据类型;
修改数据类型:
alter table 表名 modify 列名 新数据类型;
修改列名和数据类型:
alter table 表名 change 列名 新列名 新数据类型;
删除列:
alter table 表名 drop 列名;
小案例:
3. 实战案例详解
下面是一个简单的DDL实战案例,用于定义一个名为“person”的数据库表格。
CREATE TABLE person (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
gender CHAR(1),
email VARCHAR(100)
);
以上代码中,CREATE TABLE是DDL语句的一种类型,用于创建新的数据库表格。在这个例子中,我们使用了关键字CREATE TABLE来指示创建一个名为“person”的表格。
后面的括号中列出了该表格中包含的列信息。每列都需要指定列名、数据类型和可能的约束条件。
例如,第一列“id”被指定为整数类型,并被指定为表格的主键。第二列“name”被指定为最大长度为50个字符的字符串类型。类似地,其他列也被指定为适当的数据类型和约束条件。
此DDL语句将被数据库管理系统解释并执行,从而创建一个新的名为“person”的表格,它拥有上述定义的列以及任何相关的元数据(如索引或外键)。
4. 总结
今天我们对数据定义语言DDL做了一个详细的认识,使用DDL来操作数据库和数据表,并完成了设计一张表的简单需求,在日后的操作中还需要多加练习方可掌握。
到此这篇关于一文教你快速学会使用DDL对数据库和表的操作的文章就介绍到这了,更多相关DDL操作数据库和表内容请搜索aitechtogether.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持aitechtogether.com!