数据库:DDL 和 DML操作

Posted Firm陈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库:DDL 和 DML操作相关的知识,希望对你有一定的参考价值。

一.DML与DDL的含义:

1.DML(Data Manipulation Language)数据操作语言-数据库的基本操作,SQL中处理数据等操作统称为数据操纵语言,简而言之就是实现了基本的“增删改查”操作。包括的关键字有:select、update、delete、insert、merge

2.DDL(Data Definition Language)数据定义语言-用于定义和管理 SQL 数据库中的所有对象的语言,对数据库中的某些对象(例如,database,table)进行管理。包括的关键字有:
create、alter、drop、truncate、comment、grant、revoke

二.DML与DDL的区别:

1.DML操作是可以手动控制事务的开启、提交和回滚的。
2.DDL操作是隐性提交的,不能rollback!

三.DDL操作

1.操作数据库

create database if not exists dbname;//创建数据库
drop databasae if exists dbname;//销毁数据库

2.操作数据库表

2.1 添加字段

alter table tname add 字段名称 类型(长度);//追加字段
alter table tname add 字段名称 类型(长度) first;//添加字段到第1列
alter table tname add 字段名称 类型(长度) after 指定列名;//添加字段到指定列后面

2.2 删除字段

alter table tname drop 字段名称;

2.3 修改字段:名称、类型、长度、约束描述等

alter table tname modify 字段名称 新类型 新约束;
alter table tname change 旧字段名 新字段名 新类型 新约束;

2.4 修改表名

rename table tname to new_tname;

2.5 删除数据库表

drop table tname;

四.DML操作

1. insert

1.1语法格式
insert into tname[(fie1,fie2,…)] values(val1,val2,…);

1.2单条插入
#插入一条完整的记录:值的顺序要和表中字段的顺序保持一致
insert into stu values(‘haha@163.com’, ‘zs’, 18, ‘男’, ‘13211111111’);

#插入记录:ls 20 女,声明字段的顺序可以任意,值的顺序与声明的字段的顺序保持一致
insert into stu(sname, age, sex) values(‘ls’, 20, ‘女’);

1.3批量插入

#插入3条记录(批量插入):ww 23 男 zl 34 男 haha 24 女,效率高,因为I/O操作少。
insert into stu(sname, age, sex) values(‘ls’, 20, ‘男’),(‘zl’, 34, ‘男’),(‘haha’, 20, ‘女’);

1.4复制表
#复制表:stu表 -> student表。思路:1.创建student表,结构类似(结构复制);2.查询stu表插入到student表中。

方法一:

select * from stu where 1=0;#一条数据也没查到,因为条件不成立,但是结果集中是有表结构的
create table student select * from stu where 1=0;#复制表结构
insert into student select * from stu;#查询并插入数据

方法二:

create table stu1 select * from stu;#复制表结构及其数据

1.5插入日期

alter table stu add bir date;#添加字段
insert int stu values(‘hehe’, 20, ‘男’, ‘13211111111’, ‘1996-06-06’);#‘1996-06-06’ 是字符串

2. delete

语法格式:delete from tname [where condition];
实例代码:delete from stu where sname=‘haha’;

3. update

语法格式:update tname set fie1 = val1, fie2=val2,… [where condition]
实例代码:update stu set age=28 where sname=‘zs’;#where后的条件字段必须唯一确定该条记录:主键

以上是关于数据库:DDL 和 DML操作的主要内容,如果未能解决你的问题,请参考以下文章

数据库DDL与DML指的什么?

数据库DDL与DML指的什么?

Oracle ddl 和 dml 操作

DDL/DML/DCL区别

DDL/DML/DCL区别概述

SQL语法之DDL和DML