SQL语句中的DDL类型的数据库定义语言操作
DDL类型的SQL语句全称为Data Definition Language,中文名称为数据定义语言,主要是用来定义数据库中的对象的,例如数据库、表和字段的定义,简单的理解就是DDL语言是来操作数据库、表和字段的。
[var] 2.1.创建一个数据库创建数据库的命令格式:CREATE DATABASE [IF NOT EXISTS] 数据库名称 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
命令格式中,[]中括号里的参数是可选项,都有默认的值。
1)创建一个数据库
mysql create database db_1;Query OK, 1 row affected (0.07 sec)
2)创建数据库并指定默认的字符集
在MySQL数据库中一般不用utf8类型的字符集,因为默认长度为3,有很多数据类型是大于3的,因此采用utf8mb4类型的字符集。
mysql create database db_2 default charset utf8mb4;Query OK, 1 row affected (0.04 sec)
3)在创建数据库时使用逻辑判断
当我们创建数据库时,如果数据库已经存在,那么创建时就会报错,如下图所示:
在创建数据库的命令中增加上IF NOT EXISTS参数就可以完美解决这个报错问题,当创建的数据库已经存在,那么就不进行任何操作。
mysql create database if not exists db_1;Query OK, 1 row affected, 1 warning (0.01 sec) 2.2.查看MySQL中有哪些数据库 mysql show databases;
+ +
| Database |
+ +
| db_1 |
| db_2 |
| information_schema |
| mysql |
| performance_schema |
| sys |
+ +
6 rows in set (0.00 sec) 2.3.进入某个数据库 mysql use db_1;
Database changed 2.4.查看当前处于哪个数据库中
()括号是MySQL数据库中的一种函数,后面讲。
mysql select database();+ +
| database() |
+ +
| db_1 |
+ +
1 row in set (0.01 sec) [var] 3.1.创建一张数据表
创建表的语法格式:
CREATE TABLE 表名 (字段1 字段1的类型 [COMMENT 字段1的注释],
字段2 字段2的类型 [COMMENT 字段2的注释],
字段3 字段3的类型 [COMMENT 字段3的注释],
字段n 字段1的类型 [COMMENT 字段n的注释]
) [COMMENT 表的注释];
注意:在创建表时,每个字段之间都以逗号隔开,最后一个字段无需添加逗号。
创建一张数据表:
根据下图所示的表格,在MySQL中创建一张数据表。
表名:技术中心新冠疫苗接种信息表。
1.进入db_1数据库中mysql use db_1;
2.创建表
create table jszx_xgymjzxxb (
id int comment 编号 ,
bm varchar(10) comment 部门 ,
name varchar(10) comment 姓名 ,
wd char(1) comment 未打 ,
first_injection char(1) comment 第一针 ,
second_injection char(1) comment 第二针 ,
third_injection char(1) comment 第三针 ,
jtyy varchar(50) comment 具体原因
) comment 技术中心新馆疫苗接种信息表
3.2.查看当前数据库中所有的数据表
通过show tables命令可以查看当前所在的数据库中,有哪些数据表。
mysql show tables;+ -+
| Tables_in_db_1 |
+ -+
| jszx_xgymjzxxb |
+ -+
1 row in set (0.00 sec) 3.3.查询某张表的表结构
通过desc 表名的方式可以看到指定表的表结构,包括有哪些字段以及字段的类型。
mysql desc jszx_xgymjzxxb;+ + -+ + + + -+
| Field | Type | Null | Key | Default | Extra |
+ + -+ + + + -+
| id | int | YES | | NULL | |
| bm | varchar(10) | YES | | NULL | |
| name | varchar(10) | YES | | NULL | |
| wd | char(1) | YES | | NULL | |
| first_injection | char(1) | YES | | NULL | |
| second_injection | char(1) | YES | | NULL | |
| third_injection | char(1) | YES | | NULL | |
| jtyy | varchar(50) | YES | | NULL | |
+ + -+ + + + -+
8 rows in set (0.01 sec) 3.4.查询某张表的建表语句
通过show create table 表名的方式可以查询出数据表的建表语句,另外还会附带一些默认参数,例如CHARSET和COLLATE等等。
mysql show create table jszx_xgymjzxxb;| Table | Create Table |
| jszx_xgymjzxxb | CREATE TABLE `jszx_xgymjzxxb` (
`id` int DEFAULT NULL COMMENT 编号 ,
`bm` varchar(10) DEFAULT NULL COMMENT 部门 ,
`name` varchar(10) DEFAULT NULL COMMENT 姓名 ,
`wd` char(1) DEFAULT NULL COMMENT 未打 ,
`first_injection` char(1) DEFAULT NULL COMMENT 第一针 ,
`second_injection` char(1) DEFAULT NULL COMMENT 第二针 ,
`third_injection` char(1) DEFAULT NULL COMMENT 第三针 ,
`jtyy` varchar(50) DEFAULT NULL COMMENT 具体原因
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT= 技术中心新馆疫苗接种信息表 3.5.在现有表中添加新的字段
表结构创建完毕后,随着新需求的落地,就意味着要对表中当前字段以及类型进行修改,下面就来演示对于表的一系列修改操作。
为现有表添加字段的命令格式:ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束]
为jszx_xgymjzxxb张表中添加一个新字段jzqy(接种区域),类型为varchar,长度为30。
mysql alter table jszx_xgymjzxxb add jzqy varchar(30) comment 接种区域查看表结构是否增加字段成功。
mysql desc jszx_xgymjzxxb;+ + -+ + + + -+
| Field | Type | Null | Key | Default | Extra |
+ + -+ + + + -+
| id | int | YES | | NULL | |
| bm | float(10,0) | YES | | NULL | |
| name | varchar(10) | YES | | NULL | |
| wd | char(1) | YES | | NULL | |
| first_injection | char(1) | YES | | NULL | |
| second_injection | char(1) | YES | | NULL | |
| third_injection | char(1) | YES | | NULL | |
| jtyy | varchar(50) | YES | | NULL | |
| jzqy | varchar(30) | YES | | NULL | | #成功增加
+ + -+ + + + -+
9 rows in set (0.01 sec) 3.6.修改现有表中的字段数据类型和字段名称
修改表字段数据类型的命令格式:ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度)
修改表字段名称以及字段类型的命令格式:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
将jszx_xgymjzxxb表的jtyy字段修改为wjzymjtyy(未接种疫苗具体原因),类型修改为varchar(100)。
mysql alter table jszx_xgymjzxxb change jtyy wjzymjtyy varchar(100) comment 未接种疫苗具体原因查看表结构中字段是否修改成功。
mysql desc jszx_xgymjzxxb;+ + + + + + -+
| Field | Type | Null | Key | Default | Extra |
+ + + + + + -+
| id | int | YES | | NULL | |
| bm | float(10,0) | YES | | NULL | |
| name | varchar(10) | YES | | NULL | |
| wd | char(1) | YES | | NULL | |
| first_injection | char(1) | YES | | NULL | |
| second_injection | char(1) | YES | | NULL | |
| third_injection | char(1) | YES | | NULL | |
| wjzymjtyy | varchar(100) | YES | | NULL | | #修改成功
| jzqy | varchar(30) | YES | | NULL | |
+ + + + + + -+ 3.7.删除现有表中已存在的字段
删除表中的字段命令格式:ALTER TABLE 表名 DROP 字段名
删除jszx_xgymjzxxb表的jzqy字段
mysql alter table jszx_xgymjzxxb drop jzqy;查看表结构中jzqy字段是否被删除。
mysql desc jszx_xgymjzxxb;+ + + + + + -+
| Field | Type | Null | Key | Default | Extra |
+ + + + + + -+
| id | int | YES | | NULL | |
| bm | float(10,0) | YES | | NULL | |
| name | varchar(10) | YES | | NULL | |
| wd | char(1) | YES | | NULL | |
| first_injection | char(1) | YES | | NULL | |
| second_injection | char(1) | YES | | NULL | |
| third_injection | char(1) | YES | | NULL | |
| wjzymjtyy | varchar(100) | YES | | NULL | |
+ + + + + + -+
8 rows in set (0.00 sec) 3.8.修改表的名字
修改表名称的命令格式:ALTER TABLE 表名 RENAME TO 新表名
mysql alter table ygxxb rename to ryxxb; 3.9.删除数据表删除数据库中的表有两种方式,一种是DROP直接删除表以及表中的数据,另一种是截断表,不删除表,只清空表中的数据。
删除表的命令:DROP TABLE [ IF EXISTS ] 表名
清空表数据的命令:TRUNCATE TABLE 表名
mysql truncate table ryxxb;mysql drop table ryxxb; [var]
数据库层面
1)创建数据库的命令
CREATE DATABASE [IF NOT EXISTS] 数据库名称 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];2)查看MySQL中有哪些数据库
show databases;3)进入某个数据库
use db_1;4)查看当前处于哪个数据库中
select database();表层面
1)创建一张数据表
CREATE TABLE 表名 (字段1 字段1的类型 [COMMENT 字段1的注释],
字段2 字段2的类型 [COMMENT 字段2的注释],
字段3 字段3的类型 [COMMENT 字段3的注释],
字段n 字段1的类型 [COMMENT 字段n的注释]
) [COMMENT 表的注释];
2)查看当前数据库中所有的数据表
show tables;3)查询某张表的表结构
desc jszx_xgymjzxxb;4)查询某张表的建表语句
show create table jszx_xgymjzxxb;5)在现有表中添加新的字段
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束]6)修改表字段数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度)7)修改表字段名称以及字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];8)删除表中的字段
ALTER TABLE 表名 DROP 字段名9)修改表的名字
ALTER TABLE 表名 RENAME TO 新表名10)删除数据表
DROP TABLE [ IF EXISTS ] 表名TRUNCATE TABLE 表名到此这篇关于SQL语句中的DDL类型的数据库定义语言的文章就介绍到这了,更多相关SQL DDL数据库定义语言内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 SQL语句中的DDL类型的数据库定义语言操作
相关文章
- SQL Server 学生选课数据库设计与实现
- 数据库SQL Server2012下载链接与安装教程
- SQL Server数据库删除数据集中重复数据实例讲解
- SQL函数:WMSYS.WM_CONCAT行转列详解数据库
- 大型数据库设计原则详解数据库
- MySQL学习(四) SQL连接查询详解数据库
- Oracle数据库中添加字段的SQL操作(oracle添加字段sql)
- /sql数据库应用:Oracle PL/SQL编程(oraclepl)
- 开发PL/SQL: 优化Oracle数据库性能(ploracle数据库)
- SQL导入Oracle快速指南(sql导入oracle)
- 精选MySQL常用SQL语句,让你轻松执行数据库操作(mysql常用sql语句)
- SQL Server数据库编辑技能及实践研究(编辑sqlserver)
- 解决方案:从SQL转移到MSSQL的步骤(sql转mssql)
- 数据库利用SQL文件建立MSSQL数据库的步骤(sql文件建立mssql)
- SQL Server精通:掌握数据库操作的钥匙(sqlserver 键)
- 索引优化SQL Server数据库:表索引的实现(sqlserver表的表)
- SQL Server:一款让你轻松管理数据的强大数据库服务器(sqlserver的简介)
- 分页SQL Server按尺寸划分页面实现更好的数据库管理(sqlserver按大小)
- 使用SQL Server语句提升数据库运行效率(sqlserver或语句)
- SQL Server多数据库合并实践之路(sqlserver合库)
- SQL Server分离:提升数据库可靠性的有效方案(sqlserver 分离)
- SQL Server 数据库操作指南(操作sqlserver)
- MySQL数据库导入SQL文件实现快速搭建(sql文件导入mysql数据库)
- 利用C语言操作SQL和MySQL(c sql和mysql)
- MySQL 是什么25字解释 MySQL 是什么MySQL 是数据库管理系统的一种它使用 SQL 语言进行操作和管理数据库,是互联网应用广泛使用的重要组成部分
- 使用Oracle动态SQL脚本提升数据库性能(oracle中动态sql)
- Oracle SQL实现转码从无到有(oracle sql转码)
- Oracle10 SQL进入新一代数据库时代(oracle10 sql)
- phpmssql数据库分页SQL语句