陈善松 發表於 2025-11-5 17:43:00

DDL

<p>MySQL中,以DML,DQL是最经常用的,其次是DDL,DCL,单表操作主要为增删改查.</p>
<p>DDL操作<br>
a.数据库操作(创建,查看,使用,删除):<br>
1.创建数据库<br>
#创建数据库<br>
create database 数据库名称;</p>
<pre><code>#当数据库不存在时,创建数据库
create database if not exists 数据库名称;

#创建数据库并指定utf8编码
create database 数据库名称 character'utf8';
</code></pre>
<p>2.查看数据库<br>
#查看数据库<br>
show databases;</p>
<pre><code>#如果只想查看某一个数据库的建库语句
show create database 数据库名称;
</code></pre>
<p>3.使用(选择)数据库<br>
#选择数据库<br>
use 数据库名称;</p>
<pre><code>#查看当前使用的数据库
select database();
</code></pre>
<p>4.删除数据库<br>
#删除数据库(不可逆)<br>
drop database 数据库名称;</p>
<p>b.数据表操作(建表,查看表及表结构,删除表)<br>
1.创建数据表<br>
create table 表名(<br>
字段名1 数据类型 [约束],<br>
字段名2 数据类型 [约束],<br>
字段名3 数据类型 [约束],<br>
)default charset=utf8;</p>
<p>整数int、字符串char(固长)、varchar(变长)、enum(xxx, yyy)枚举类型,多选一</p>
<p>2.查看数据表以及数据表结构信息<br>
#显示当前数据库下的所有表<br>
show tables;<br>
#展示goods商品表的结构信息<br>
desc goods;</p>
<p>3.修改表名,删除数据表<br>
#修改指定表的名称<br>
rename table 表名 to 新表名;<br>
#删除指定的数据表<br>
drop table 表名;</p>
<p>数据约束:<br>
定义:数据类型本身就是一种约束,数据约束是指在数据类型限定的基础上额外增加的需求.</p>
<p>-- 五大约束<br>
-- ① 主键约束:非空、唯一、一个表中只能有1个 =&gt; primary key<br>
drop table students;<br>
create table students(<br>
id int unsigned primary key,<br>
name varchar(20),<br>
age tinyint,<br>
mobile char(11)<br>
) default charset=utf8;<br>
-- 扩展:编号自增 =&gt; auto_increment =&gt; 不需要手动录入编号,系统会自动生成编码<br>
create table students(<br>
id int unsigned auto_increment primary key,<br>
name varchar(20),<br>
age tinyint,<br>
mobile char(11)<br>
) default charset=utf8;</p>
<p>-- ② 唯一约束:唯一,可以为空,一个表中可以有多个 =&gt; unique<br>
create table goods(<br>
id int unique,<br>
name varchar(200) unique,<br>
price decimal(11, 2)<br>
) default charset=utf8;</p>
<p>-- ③ 非空约束:not null,不允许字段值为null =&gt; not null<br>
create table article(<br>
id int auto_increment primary key,<br>
title varchar(80) not null,<br>
author varchar(20),<br>
content text,<br>
addtime date<br>
) default charset=utf8;<br>
desc article;</p>
<p>-- ④ 默认值约束:default 默认值,插入数据时,如果不写内容,则填充默认值 =&gt; default<br>
create table members(<br>
id int auto_increment primary key,<br>
name varchar(20) not null,<br>
age tinyint,<br>
gender enum('男', '女') default '男'<br>
) default charset=utf8;<br>
desc members;</p>
<p>-- ⑤ 外键约束,表示两个表的关联关系,插入、修改、删除时候,都会到另外一张表中检查是否有关联,数据是否合法(了解)</p>
<p>c.数据表字段增删改操作<br>
1.给数据表添加字段<br>
eg.给students数据表增加一个address字段,字段长度不超过255个字符<br>
alter table students add address varchar(255);#默认追加到所有列尾部</p>
<p>2.给students数据表增加一个addtime字段,数据类型为date类型<br>
alter table students add addtime date after mobile;#追加到mobile列后面</p>
<p>2.修改,删除表字段<br>
1.修改表字段<br>
alter table 表名 change 旧列名 新列名 新类型(长度) [约束];<br>
eg.<br>
alter table category change 'desc' description varchar(100);</p>
<pre><code>2.删除表字段
alter table 表名 drop 列名;
eg.
alter table category drop num;
</code></pre><br><br>
来源:https://www.cnblogs.com/Rocokingdom2024/p/19194310
頁: [1]
查看完整版本: DDL