在整理完数据查询语言DQL后,接着整理DML与DDL语言。相对于数据查询语言(很重要,内容也很多),数据操纵语言与数据定义语言内容相对较少,本文就放在一篇文章进行整理。 DML语言主要有三种形式:插入:insert,修改:update,删除:delete。下面依次用案例的形式进行介绍。 实现插入记录的两种方式: 说明: 案例2:向女神表中插入一条包含所有字段的记录 案例3:向女神表中插入一条记录,其中姓名为刘涛,id为19,phone为999 两种插入方式大PK 修改语句涉及到单表修改与多表修改,其中单表修改为重点。 (2)修改多表记录 #sql92语法: #sql99语法: 案例1(修改单表记录):修改beauty表中姓唐的女神的电话为13899888899 案例2(修改多表记录):修改张无忌的女朋友的手机号为114 案例3(修改多表记录):修改没有男朋友的女神的男朋友编号都为2号 方式一:delete方式删除 方式二:truncate方式删除 案例1(单表删除):删除手机号以9结尾的女神信息 案例2(多表删除,sql99语法):删除张无忌的女朋友的信息 案例3(多表删除,sql99语法):删除黄晓明的信息以及他女朋友的信息 案例4(truncate删除):删除boys表的信息 注意:TRUNCATE删除方式直接将整个表清空 delete PK truncate 【面试题 ★】 delete 可以加where 条件,truncate不能加 truncate删除,效率高一丢丢 假如要删除的表中有自增长列(*) truncate删除没有返回值,delete删除有返回值(*) truncate删除不能回滚,delete删除可以回滚(*) 数据定义语言 (Data Definition Language, DDL) 是SQL语言集中负责数据结构定义与数据库对象定义的语言,主要包括库和表的管理,包括库和表的创建(create)、修改(alter)和删除(drop)。 语法: 库的修改操作主要为修改数据库的名称和字符集 RENAME DATABASE books TO 新库名;(5.1之前的版本可用,现在已经不能使用了,不安全,会导致数据丢失) 现在的修改方法:修改数据库的对应文件夹的名字,然后重启数据库服务 (2)修改库的字符集 将数据库的字符集更改为GBK 案例:删除库Books 语法: 案例:创建表Book 语法: 语法: 库和表创建删除的通用写法: (1)仅仅复制表的结构 (2)复制表的结构+数据 (3)只复制部分列的部分数据 (4)只复制部分列的字段,不复制数据(划重点)文章目录
一、数据操纵语言DML
1. 插入语句
方式一:insert into 表名(列名,...) values(值1,...);
方式二:insert into 表名 set 列名 = 值,列名 = 值,...
案例1:向女神表中插入一条记录INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id) VALUES(13,'唐艺昕','女','1990-4-23','1898888888',NULL,2);
INSERT INTO beauty VALUES(18,'刘诗诗','女',NULL,'15856498715',NULL,NULL);
INSERT INTO beauty SET id=19,NAME='刘涛',phone='999'; #该种方式插入id值不能重复
INSERT INTO beauty VALUES(23,'唐艺昕1','女','1990-4-23','1898888888',NULL,2) ,(24,'唐艺昕2','女','1990-4-23','1898888888',NULL,2) ,(25,'唐艺昕3','女','1990-4-23','1898888888',NULL,2);
#例1 INSERT INTO beauty(id,NAME,phone) SELECT 26,'宋茜','11809866'; #例2 INSERT INTO beauty(id,NAME,phone) SELECT id,boyname,'1234567' FROM boys WHERE id<3;
2. 修改语句
(1)修改单表记录update 表名 set 列 = 新值,列 = 新值,... where 筛选条件;
update 表1 别名,表2 别名
set 列=值,…
where 连接条件
and 筛选条件;
update 表1 别名
inner|left|right join 表2 别名
on 连接条件
set 列=值,…
where 筛选条件;UPDATE beauty SET phone = '13899888899' WHERE NAME LIKE '唐%';
UPDATE boys bo INNER JOIN beauty b ON bo.`id`=b.`boyfriend_id` SET b.`phone`='114' WHERE bo.`boyName`='张无忌';
UPDATE beauty b LEFT JOIN boys bo ON b.`boyfriend_id` = bo.`id` SET b.`boyfriend_id` = '2' WHERE bo.`id` IS NULL;
3. 删除语句
delete from 表名 where 筛选条件
sql92语法:delete 表1的别名, 表2的别名 from 表1 别名, 表2 别名 where 连接条件 and 筛选条件
sql99语法:delete 表1的别名, 表2的别名 from 表1 别名 inner|left|right join 表2 别名 on 连接条件 where 筛选条件;
语法:truncate table 表名;
DELETE FROM beauty WHERE phone LIKE '%9';
DELETE b FROM beauty b INNER JOIN boys bo ON b.`boyfriend_id` = bo.`id` WHERE bo.`boyName`='张无忌';
DELETE b,bo FROM beauty b INNER JOIN boys bo ON b.`boyfriend_id`= bo.`id` WHERE bo.`boyName`='黄晓明';
TRUNCATE TABLE boys ;
如果用delete删除后,再插入数据,自增长列的值从断点开始,
而truncate删除后,再插入数据,自增长列的值从1开始二、数据定义语言DDL
(一)库的管理
1. 库的创建
create database [if not exists] 库名;
案例:创建库BooksCREATE DATABASE IF NOT EXISTS books ;
2. 库的修改
(1)修改库的名称
ALTER DATABASE books CHARACTER SET gbk;
3. 库的删除
DROP DATABASE IF EXISTS books;
(二)表的管理
1. 表的创建
create table [if not exists] 表名( 列名 列的类型【(长度) 约束】, 列名 列的类型【(长度) 约束】, 列名 列的类型【(长度) 约束】, ... 列名 列的类型【(长度) 约束】 );
CREATE TABLE book( id INT,#编号 bName VARCHAR(20),#图书名 price DOUBLE,#价格 authorId INT,#作者编号 publishDate DATETIME#出版日期 ); DESC book;
2. 表的修改【★】
alter table 表名 add | drop | modify | change column 列名 【列类型 约束】;
#(1)修改列名,*必须加上列的类型* ALTER TABLE book CHANGE COLUMN publishdate pubDate DATETIME; #(2)修改列的类型或约束 ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP; #(3)添加新列 ALTER TABLE author ADD COLUMN annual DOUBLE; #说明:添加新列时可以指定添加新列的位置,如 first/ after 字段名 ALTER TABLE author ADD COLUMN pubPlace VARCHAR(20) FIRST; #建在第一个字段 ALTER TABLE author ADD COLUMN pubPlace2 VARCHAR(20) AFTER pubPalce; #建在pubPlace后 #(4)删除列 ALTER TABLE book_author DROP COLUMN annual; #(5)修改表名 ALTER TABLE author RENAME TO book_author;
3. 表的删除
drop table if exists 表名;
案例:删除book_author表DROP TABLE IF EXISTS book_author;
DROP DATABASE IF EXISTS 旧库名; CREATE DATABASE 新库名; DROP TABLE IF EXISTS 旧表名; CREATE TABLE 新表名;
4. 表的复制
CREATE TABLE copy LIKE author;
CREATE TABLE copy2 SELECT * FROM author;
CREATE TABLE copy3 SELECT id, au_name FROM author WHERE nation='中国';
#添加一个永远不满足条件的筛选条件 #方式 1 CREATE TABLE copy4 SELECT id,au_name FROM author WHERE 1 = 2; #方式 2 CREATE TABLE copy4 SELECT id,au_name FROM author WHERE 0;
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算