2024年MySQL—SQL基础(DDL、DCL、约束)_约束是mysql中的dcl吗,2024大厂Java开发面试总结+解答

最后

文章中涉及到的知识点我都已经整理成了资料,录制了视频供大家下载学习,诚意满满,希望可以帮助在这个行业发展的朋友,在论坛博客等地方少花些时间找资料,把有限的时间,真正花在学习上,所以我把这些资料,分享出来。相信对于已经工作和遇到技术瓶颈的朋友们,在这份资料中一定都有你需要的内容。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

文章目录

\color{blue}{参考资料}

参考资料
思维导图:https://processon.com/mindmap/6004e42fe401fd261bc70815
SQL基础:https://www.w3school.com.cn/sql/index.asp

DDL

数据库

CREATE DATABASE

CREATE DATABASE 用于创建数据库。

# create database 数据库名
create database mydb 

ALTER DATABASE
ALTER DATABASE [数据库名] { 
[ DEFAULT ] CHARACTER SET <字符集名> |
[ DEFAULT ] COLLATE <校对规则名>}

参考文章:http://blog.itpub.net/26006967/viewspace-1749746/

DROP DATABASE

DROP DATABASE 语句用于删除数据库:

# drop database 数据库名
drop database mydb

CREATE TABLE

CREATE TABLE 语句用于创建数据库中的表。
语法

CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)

示例

CREATE TABLE student(
	name varchar(255),
	age int(100),
	gender char(2),
	city varchar(155)	
)

ALTER TABLE

ALTER TABLE 语句用于在已有的表中添加、修改或删除列。
添加列

# alter table 表名 add 列名 datatype(数据类型)
alter table student add phone char(11)

修改列的数据类型

# alter table 表名 alter column 列名 datetype(数据类型)
alter table student alter column age char(10) 

删除列

# alter table 表名 drop column 列名
alter table student drop column city

某些数据库系统不允许这种在数据库表中删除列的方式 (DROP COLUMN column_name)。

DROP TABLE

DROP TABLE用来删除表

# drop table 表名
drop table student

注意:
delete是删除数据库中某一条或者若干条记录,不会改变表结构及索引
truncate 是删除表内全部数据,相当于清空表,但并不删除表本身
drop是将表从数据库中删除

索引

您可以在表中创建索引,以便更加快速高效地查询数据。用户无法看到索引,它们只能被用来加速搜索/查询。
注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。

CREATE INDEX

CREATE INDEX 语句用于在表中创建索引。在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。

# CREATE INDEX index\_name ON table\_name (column\_name) 在某张表的指定列创建索引
create index nameIndex on student (name)

ALTER INDEX
# 查看索引
show index from student
# 可以先删除后添加
# 删除
drop index nameIndex on student
# 添加
alter table student add index phoneIndex(phone)

普通索引、UNIQUE索引和PRIMARY KEY索引这三种创建索引的格式

ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) 
ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 
ALTER TABLE `table_name` ADD UNIQUE ( `column` ) 


DROP INDEX

我们可以使用 DROP INDEX 命令删除表格中的索引。

# DROP INDEX index\_name ON table\_name
drop index nameIndex on student
alter table student drop index nameIndex

约束

约束用于限制加入表的数据的类型。
可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句)。

我们将主要探讨以下几种约束:

  • NOT NULL
  • UNIQUE
  • PRIMARY KEY
  • FOREIGN KEY
  • CHECK
  • DEFAULT

not null
NOT NULL 约束强制列不接受 NULL 值。NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。
下面的 SQL 语句强制 “Id_P” 列和 “LastName” 列不接受 NULL 值:

CREATE TABLE Persons
(
	Id_P int NOT NULL,
	LastName varchar(255) NOT NULL,
	FirstName varchar(255),
	Address varchar(255),
	City varchar(255)
)

unique
UNIQUE 约束唯一标识数据库表中的每条记录。UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
PRIMARY KEY 拥有自动定义的 UNIQUE 约束。
请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。

CREATE TABLE Persons


# 总结

上述知识点,囊括了目前互联网企业的主流应用技术以及能让你成为“香饽饽”的高级架构知识,每个笔记里面几乎都带有实战内容。

**很多人担心学了容易忘,这里教你一个方法,那就是重复学习。**

打个比方,假如你正在学习 spring 注解,突然发现了一个注解@Aspect,不知道干什么用的,你可能会去查看源码或者通过博客学习,花了半小时终于弄懂了,下次又看到@Aspect 了,你有点郁闷了,上次好像在哪哪哪学习,你快速打开网页花了五分钟又学会了。

从半小时和五分钟的对比中可以发现多学一次就离真正掌握知识又近了一步。

![](https://img-blog.csdnimg.cn/img_convert/dc0e5ed6b4231c2bea589cff3b17b439.webp?x-oss-process=image/format,png)

人的本性就是容易遗忘,只有不断加深印象、重复学习才能真正掌握,所以很多书我都是推荐大家多看几遍。哪有那么多天才,他只是比你多看了几遍书。


> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

链图片转存中...(img-0JVBOtLr-1715003268941)]

人的本性就是容易遗忘,只有不断加深印象、重复学习才能真正掌握,所以很多书我都是推荐大家多看几遍。哪有那么多天才,他只是比你多看了几遍书。


> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

  • 12
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值