数据库: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操作的主要内容,如果未能解决你的问题,请参考以下文章