目录

1.DDL

1.1对库的管理

1.2对表的操作

1.3常用的数据类型(补充)

1.4约束

2.DML

2.1.向表中插入数据:(两种方式)

2.2.修改语句:

2.3.删除语句

2.4.delete  PK    truncate【面试题】


人生百味,世事无常,犹如多端的天气,生活窘迫、工作压抑,只不过是人生中的风雨罢了。阳光,总在风雨后只要你坚持着目标,坚持着自己的理想,总会在风雨过后,拥抱属于自己的灿烂阳光。

前面讲解了数据库知识中,对表中的数据进行增删改查,接下来将为大家介绍两种新语法:DDL,DML它们是对库和表进行操作。如果大家需要请自行收藏起来。

1.DDL

DDL语言也就是数据库定义语言,就是用来操作数据库和对表的管理,比如对数据库的增删改查,表的增删改查。

1.1对库的管理

1.库的创建:

创建数据库并指定字符集:
create database if not exists 数据库名  character set 字符集名

2.库的查看:

查询所有数据库名称:
show databases;

3.查询或者修改某个数据库的字符集:

查询某个数据库的字符集:
show create database 数据库名;修改数据库字符集:
alter database 数据库名 character set 字符集名

4.删除数据库:

删除数据库:
drop database  if exists  数据库名;

5.查看当前正在使用的数据库:

查看当前正在使用的数据库:
select database()

6.库的使用:

use 数据库名称

1.2对表的操作

1.创建表:

表的创建:
create table 表名(字段名 数据类型 【字段约束】);

2.查看当前库中所有表:

查看当前库中所有表:
show tables ;

3.查看表的结构:

desc 表名;

4.修改表的名称:

修改表名:
alter table 表名 rename to 新的表名

5.修改表的字符集:

alter table 表名 character set 字符集名

6.添加列:

添加列:
alter table add column 列名 数据类型 【约束】

7.修改列的名称和类型:

修改列名称 类型:
alter table 表名 change 列名 新列别 新数据类型;alter table 表名 modify 列名 新数据类型;

8.删除列和删除表:

删除列:alter table 表名 drop 列名;删除表:drop table if exists 表名;

1.3常用的数据类型(补充)

1.int 整型

2.double 小数类型

3.date 日期型:只包含年月日。yyyy-MM-dd

4.datetime 日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss

5.timestamp 时间搓类型 包含年月日时分秒 yyyy-MM-dd HH:mm:ss

注意:

如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值

6.varchar 字符串

1.4约束

1.概念

对表中的数据进行限定,保证数据的正确性、有效性和完整性。

2.分类

1.主键约束 primary key

2.非空约束 not null

3.唯一约束unique

4.外键约束 foreign key

具体代码实现:

1.列级约束

用法:
CREATE TABLE 表名(字段名  字段类型  约束,字段名  字段类型,表级约束);举例:
CREATE TABLE stuinfo(id INT PRIMARY KEY,stuname VARCHAR(20) NOT NULL,gender CHAR(1) CHECK(gender='男' OR gender='女'),seat INT UNIQUE,age INT DEFAULT  18,majorid INT  REFERENCES major(id));

2.表级约束

语法:在所有字段的最下面:constraint 约束名  约束类型 (字段名)举例:
CREATE TABLE stuinfo(id INT ,stuname VARCHAR(20),gender CHAR(1) ,seat INT,age INT ,majorid INT ,CONSTRAINT pk PRIMARY KEY(id),CONSTRAINT uq UNIQUE(seat),CONSTRAINT pk  FOREIGN  KEY(majorid) REFERENCES major(id)

3.通用格式

CREATE TABLE 表名(id INT PRIMARY KEY,stuname VARCHAR(20) NOT NULL,gender CHAR(1) CHECK(gender='男' OR gender='女'),seat INT UNIQUE,age INT DEFAULT  18,majorid INT  ,CONSTRAINT pk  FOREIGN  KEY(majorid) REFERENCES major(id)  

这是创建表时,添加约束,当然修改表时依然能够添加约束,这里简单的提一下:

1.列级约束(不支持外键)
alter table 表名 modify column 字段名  字段类型 新约束
2.表级约束(非空,默认不支持)
alter table 表名 add  【constraint 约束名】 约束类型(字段名)【外键引用】

1.添加非空约束
ALTER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20) NOT NULL2.添加默认约束
ALTER TABLE stuinfo MODIFY COLUMN age INT DEFAULT 183.添加主键
ALTER TABLE stuinfo MODIFY COLUMN id INT PRIMARY KEY;ALTER TABLE stuinfo ADD COLUMN PRIMARY KEY(id);4.添加唯一键ALTER TABLE stuinfo MODIFY COLUMN seat INT UNIQUE;5.添加外键ALTER TABLE stuinfo ADD FOREIGN KEY(majorid) REFERENCES major(id);

4.修改表时删除约束:


1.删除非空约束
ALTER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20) NULL2.删除默认约束
ALTER TABLE stuinfo MODIFY COLUMN age INT 3.删除主键
ALTER TABLE stuinfo DROP PRIMARY KEY;4.删除唯一键ALTER TABLE stuinfo DROP INDEX seat ;5.删除外键ALTER TABLE stuinfo DROP FOREIGN KEY(majorid) ;

==================================================================================================================================================

补充

  标识列: 又叫自增长列
含义:可以不用手动的插入值,系统提供默认的序列值
特点:
1.标识列不一定和主键搭配,但要求是一个key
2.一个表至多一个
3.标识列的类型只能是数值型
4.标识列可以通过set auto_increment_increment=3设置步长

代码实现:

一.设置步长(一般不设置):SET auto_increment_increment=3;二.修改表时设置标识列:ALTER TABLE tab_id MODIFY COLUMN id INT PRIMARY KEY AUTO_INCREMENT;三.修改表时删除标识列:ALTER TABLE tab_id MODIFY COLUMN id INT  ;

2.DML

DML 是对数据库的增删改操作,即添加表中的数据,删除表中的数据,修改表中的数据。
主要关键字,insert(添加),delete(删除),update(修改)。

2.1.向表中插入数据:(两种方式)

语法一:
insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);举例:
INSERT INTO `beauty`
VALUES(14,'刘哲铭','女','1990-12-12','189888888',NULL,2),
(15,'吴宝生','女','1990-12-12','189888888',NULL,2);
=================================================================
语法二:
insert into 表名 set 列名=值,列名=值......举例:
INSERT INTO `beauty`
SET id=19,NAME='刘涛',phone='999';

2.2.修改语句:

1.修改单表的记录:update 表名 set 列=值,列=值......  where  筛选条件 例子:
UPDATE `beauty` SET `phone`='321321' WHERE `name`='某某';2.修改多表的记录(SQL99语法):
update 表一 别名
inner |left|right| join 表二 别名
on 连接条件
set 列=值
where 筛选条件;例子:
修改张无忌的女朋友的手机号为11111:UPDATE `beauty` b
INNER JOIN `boys` bo
ON b.`boyfriend_id`=bo.`id`
SET b.`phone`='111111111111111111'
WHERE bo.`boyName`='张无忌';

2.3.删除语句

方式一:delete
语法:
单表的删除:delete from 表名 where  筛选条件多表的删除【补充】
sql92:delete 表一的别名
from 表一 别名
where 连接条件
and 筛选条件sql99:
delete 表一的别名 ,表二的别名
from 表一 别名
inner | left | right| join 表二 别名
on 连接条件
where 筛选条件#方式二:truncate
清空数据,删除所有条件
truncate table 表名

2.4.delete  PK    truncate【面试题】

1.delete 可以加where 条件,truncate不能加

2.truncate删除,效率高一丢丢

3.加入说要删除的表中有自增长列
如果用delete 删除后。在插入数据,自增长列的值从断点开始,而truncate删除后,在插入数据。自增长列的值从1开始。

4.truncate 删除没有返回值

5.truncate删除不能回滚,delete删除可以回滚

=========================================================================        心灵毒鸡汤:没有一条路是平坦的,没有一座山是毫无崎岖的,而大海更不会是风平浪静的。人生之路,荆棘遍地,坎坷泥泞不可计数,唯有坚强者才能披荆斩棘,扫平坎坷走到路的尽头 。

MySQL进阶(DDL与DML)相关推荐

  1. oracle ddl会被什么阻塞,MySQL Online DDL与DML并发阻塞关系总结

    MySQL Online DDL与DML并发阻塞关系总结MySQL DDL操作执行的三种方式 1,INPLACE,在进行DDL操作时,不影响表的读&写,可以正常执行表上的DML操作,避免与CO ...

  2. MySQL的DDL、DML和DQL的基本语法

    定义:  SQL语句,即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一 种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统 ...

  3. 死磕数据库系列(二十):MySQL 数据库 DDL、DML、DQL、DCL 语言理论与实践(sql 8.0 版)...

    点关注公众号,回复"1024"获取2TB学习资源! 今天,民工哥带大家一起来学习一下 MySQL 数据库的 DDL.DML.DQL.DCL 这几种语言的理论知识与实践.如有帮助,请 ...

  4. MySQL基础——DDL、DML、DQL、DCL语句

    当成功安装数据库之后,对于数据库进行的简单且基础的操作 打开数据库操作 1.在运行中输入services.msc 会打开如下界面 可以选择对MySQL进行开启或者关闭 2.也可以使用命令指示符 命令提 ...

  5. MySQL的 DDL和DML和DQL的基本语法

    前言 SQL语句,即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统,同时 ...

  6. MySQL中DDL和DML以及DQL的基本语法

    数据库(Database,简称DB):  长期存放在计算机内,有组织.可共享的大量数据的集合,是一个数据"仓库". 数据库里有以下三种基本语法,根据信息可以实现不同的功能: DDL ...

  7. MySQL的DDL、DML、DQL基本语法

    DDL (数据定义语言)   :CREATE.ALTER.DROP DML (数据操作语言):INSERT.UPDATE.DELETE DQL (数据查询语言):SELECT DDL: 创建一个表:基 ...

  8. MySql的DDL和DML和DQL的基本语法

    一.DDL (数据定义语言):                 定义和管理数据对象, 如数据库,数据表等                 常见的命令:                          ...

  9. MySQL数据库-DDL与DML

    SQL介绍 什么是SQL? SQL通用语法 SQL分类 DDL数据定义语言 DDL数据库 查询数据库 创建数据库 修改,删除,使用数据库 DDL数据表 数据表的查询 数据表的创建 数据表的修改(结构上 ...

  10. MySQL的DDL、DML、DCL、TCL什么意思?

    SQL语句:结构化查询语句,使用SQL与数据库"沟通",完成相应的数据库操作. 语句分类 DDL(Data Definition Languages)语句:即数据库定义语句,用来创 ...

最新文章

  1. Missing key(s) in state_dict
  2. 在一表中设置组合主键(两个字段组合成一个主键)
  3. 别研究买房了,墓地你研究过吗?
  4. 2021下半年软考各省准考证打印时间
  5. 【小白学PyTorch】 2.浅谈训练集验证集和测试集
  6. 全面解析Inception Score原理及其局限性
  7. boost::posix_time模块用时间构造和计算的一些简单例子
  8. python apache mysql_在Linux系统上部署Apache+Python+Django+MySQL环境
  9. Part01、sqlalchemy 使用
  10. python如何打印文字_python怎么打印字符
  11. 员工管理能力怎么提高?不妨使用现代工时表软件
  12. iOS打包ipa安装包的流程
  13. 证券机构分析师研报靠谱么?关于波司登沽空与买入报告
  14. Hadoop2.7.2 分布式集群搭建(CentOS 7)
  15. Qt5.12 使用FFmpeg实时解码播放H264/H265摄像头记录(直传数据法)
  16. 生动的SDN基础内容介绍(六)--SDN应用平面和网络测量
  17. 全景制作教程:如何利用Pano2VR进行补天补地?
  18. Lazada(来赞达):就三个步骤!搞定Lazada店铺装修
  19. android自定义截图,Android实现截屏功能
  20. 虚拟机网络适配器下的3种网络模式(主机模式、桥接模式和NAT模式)

热门文章

  1. linux下阻塞的系统调用,Linux下文件的阻塞与非阻塞对部分系统调用的影响
  2. R语言smoothHR包_SmoothHR產品官方網站 全新體驗、正式上線 !
  3. R语言基础入门(10)之矩阵和数组
  4. 【OpenCV 例程200篇】90. 频率域陷波滤波器
  5. 分析设计网上书店数据库,并画E-R图
  6. 如何区分电梯卡为id卡ic卡_电梯刷卡系统基本属性
  7. 【Jmeter篇】你有Fiddler、Charles抓包,我有Jmeter录制Web和App端
  8. 【Selenium】之谷歌、IE、火狐浏览器各个版本的浏览器驱动下载地址
  9. 17秋 软件工程 团队第五次作业 Alpha Scrum2
  10. [Android-Appium]: 安卓自动化测试: 环境准备