DDL语言(库和表的创建、修改、删除)——MySQL
文章目录
- DDL语言
- 1. 库的管理
- 1. 库的创建
- 2. 库的修改
- 3. 库的删除
- 2. 表的管理
- 1.表的创建 ★
- 2.表的修改 (对表内的列进行操作)
- ①修改列名
- ②修改列的类型或约束
- ③添加新列
- ④删除列
- ⑤修改表名
- 3.表的删除
- 通用的写法:
- 4.表的复制
- 1. 仅仅复制表的结构
- 2. 复制表的 结构+数据
- 1. 只复制部分数据
- 2. 仅仅复制某些字段
- 创建表的约束
- 六大约束
- 1.添加列级约束
- 2.添加表级约束
DDL语言
- DDL语言:数据定义语言
库和表的管理
- 库的管理
创建、修改、删除 - 表的管理
创建、修改、删除
- 创建: create
- 修改: alter
- 删除: drop
1. 库的管理
1. 库的创建
语法:
create database [if not exists]库名;
[if not exists]:为选填字段,表示如果库已经存在就不再创建
案例:创建库Books
create database if not exists books ;
2. 库的修改
- 数据库一般不修改,因为修改容易导致数据库数据的丢失。
可以更改库的字符集
alter database 库名 character set 字符集;
字符集原来默认是UTF-8改为gbK
alter database books character set gbk;
3. 库的删除
- 语法
drop database 【if exists】 库名;
【if exists】:为选填字符表示,如果存在就删除该库。
drop database if exists books;
2. 表的管理
1.表的创建 ★
- 语法:
create table 表名
(
列名 列的类型(长度) 【约束】,
列名 列的类型(长度) 【 约束】,
...
列名 列的类型(长度) 【 约束】
)
- 案例:创建表Book
create table book
(
id INT, #编号
bName VARCHAR(20), #图书名
price DOUBLE, #价格
authorId INT, #作者编号
publishDate DATETIME #出版日期
);
#后为注释
2.表的修改 (对表内的列进行操作)
- 语法
alter table 表名
{change(改变名)|modify(修改)|add(添加)|drop(删除)}
column 列名
【列类型 约束】;
①修改列名
- 语法:
alter table 表名 change column 列名 新列名 列类型 ;
alter table book change column publishdate pubDate DATETIME;
②修改列的类型或约束
- 语法:
alter table 表名 modify column pubdate 新类型 ;
③添加新列
- 语法:
alter table 表名 add column 新列名 类型;
- 在author表中添加新列名为年薪。
alter table author add column annual double ;
④删除列
- 语法:
alter table 表名 drop column 要删的列名 ;
alter table book_author drop column annual;
⑤修改表名
- 语法:
alter table 表名 rename to 新表名 ;
- 将author表名修改为book_author
alter table author rename to book_author ;
3.表的删除
drop table 【if exists】 表名 ;
【if exists】:如果表存在,则删除。
drop table if exists book_author;
通用的写法:
drop database if exists 旧库名;
create database 新库名;
drop table if exists 旧表名;
create table 表名();
4.表的复制
1. 仅仅复制表的结构
- 语法:
create table 新表 LIKE 待复制的表 ;
:复制表a为新标
- 复制表auther的结构给新标copy
create table copy LIKE author ;
2. 复制表的 结构+数据
- 语法:
create table 新表
select * from 待复制的表 ;
- 复制表auther的数据给新标copy2
create table copy2
select * from author;
1. 只复制部分数据
举例
create table copy3
select id,au_name
from author
where nation='中国';
2. 仅仅复制某些字段
举例
create table copy4
select id,au_name
from author
where 0;
创建表的约束
含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性
六大约束
- not null :非空,用于保证该字段的值不能为空
比如姓名、学号等 - default :默认,用于保证该字段有默认值
比如性别 - primary key:主键,用于保证该字段的值具有唯一性,并且非空
比如学号、员工编号等 - unique:唯一,用于保证该字段的值具有唯一性,可以为空
比如座位号 - ckeck:检查约束,用于加选择条件,可有满足你所给定的条件中的项才可以【mysql中不支持】
比如性别只能是你所给定男或女中的一个 - foreign key:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的联列的值(表1中的某字段必须来源于表2,约束字段要添加在表1中)
在从表添加外键约束,用于引用主表中某列的值
比如学生表的专业编号,员工表的部门编号,员工表的工种编号
添加约束的时机:(数据添加之前)
1.创建表时
2.修改表时
- 约束的添加分类:
- 列级约束:
六大约束语法上都支持,但外键约束没有效果 - 表级约束:
除了非空、默认,其他的都支持
- 列级约束:
语法:
create table 表名
(
字段名 字段类型 列级约束,
字段名 字段类型,
表级约束
)
直接在字段名和类型后面追加 约束类型即可。
只支持:默认、非空、主键、唯一
1.添加列级约束
create table stuinfo
(id int primary key, #主键stuName varchar(20) not null quitue, #非空gender char(1) check(gender='男' OR gender ='女'),#检查seat int unique ,#唯一age int default 18,#默认约束majorId int references major(id) #外键
);
2.添加表级约束
语法:在各个字段的最下面
【constraint 约束名】 约束类型(字段名)
drop table if exists stuinfo;
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 ck check (gender ='男' OR gender = '女'),#检查constraint fk_stuinfo_major foreign key (majorid) references major(id)#外键);
DDL语言(库和表的创建、修改、删除)——MySQL相关推荐
- 数据表的新建 修改 删除 mysql
数据表的新建 修改 删除 mysql 我们准备操做目标数据库了 操作哪个库,就选中哪个库 创建数据表 新建一个数据库 新建一个数据表(学生表) 数据表中记录:编号,姓名,成绩,身高 建库 建表 查看建 ...
- MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制
/*进阶 11 DDL 数据库定义语言库和表的管理一:库的管理:创建/修改/删除二:表的管理:创建/修改/删除创建: CREATE DATABASE [IF NOT EXISTS] 库名;修改: al ...
- 七、MySQL DDL数据定义语言 学习笔记(库和表的创建、修改、删除详解 + 强化复习)
DDL语言 数据定义语言 库和表的管理: 一.库的管理: 创建.修改.删除 二.表的管理: 创建.修改.删除 创建: create 修改: alter 删除: drop 一.库的管理 1.库的创建: ...
- MySQL数据库之DDL语言:库和表的创建CREATE、修改ALTER、删除DROP
文章目录 @[TOC] MySQL数据库之DDL语言:库和表的创建.修改.删除 1.DDL 数据定义语言 2.库的管理 2.1 库的创建 2.2 库的修改(能修改的不多,如修改字符集) 2.3 库的删 ...
- 数据库基础--数据库基础管理(创建库/表 以及插入修改删除表数据)
1.啥子是数据库–存储数据的仓库 2.什么是数据–音乐,电影,文本,图片等 常见的数据库软件 Oracle 不开源 跨平台 厂商:甲骨文 MySQL 开源 跨平台 厂商:甲骨文 SQL Server ...
- SQL基础学习总结:2(表的创建、删除、更新和名称修改)
表的创建.删除.更新和名称修改 登录MySQL(mysql -u root -p语句) 步骤: 1.首先得先使用mysql -u root -p语句登录数据库: 2.在"Enter pass ...
- 【Excel自动化办公Part3】:工作表的创建、删除、复制和修改名称,冻结窗格,添加筛选
目录 一.工作表的创建.删除.复制和修改名称 1.创建新的工作表 2.删除工作表 3.复制工作表 4.修改工作表名称 二.冻结窗格 三.添加筛选 一.工作表的创建.删除.复制和修改名称 1.创建新的工 ...
- mysql利用触发器删除数据库_[数据库]mysql 触发器的创建 修改 删除
[数据库]mysql 触发器的创建 修改 删除 0 2015-12-16 23:00:04 //做一个简单的练习,创建一个简单的触发器 完成添加文章的时候,自动加上时间,默认作者 为 '日记本的回忆' ...
- oracle创建和删除表空间,oracle 表空间创建和删除
oracle数据库:数据库对象以及表数据都存储在表空间中,创建用户时可以指定对应的表空间.这样用户可以在各自的表空间中操作数据,互不干扰. 1. 表空间创建 若不清楚表空间对应文件的路径,可以登录系统 ...
最新文章
- 细化 Sobel 边缘提取
- ylbtech-数据库设计与优化-对作为复选框/单选列表的集合表的设计
- c语言贪吃蛇最简单,熬书几个月,终于编出简易的贪吃蛇了,VS2013
- ●HDU 2871 Memory Control(Splay)
- 2015.05.15,外语,学习笔记-《Word Power Made Easy》 01 “如何讨论人格特点”
- mysql导入竖杠分割的数据_MYSQL :逗号分隔串表,分解成竖表
- 点计算机没有本地磁盘,快速解决WinPE系统下没有本地磁盘的方法
- java输出输入的日期_Java编写的日历,输入年月,输出这个月的日期与星期
- texstudio统计字数
- 大家好,我是达叔,我创建了一个做项目的星球【达叔与他的朋友们】,来吗?...
- css空心三角形_CSS实现空心三角指示箭头
- 黎曼 zeta 函数与黎曼猜想
- WNMP项目环境部署
- 利用三轴加速器的计步测算方法
- loj#6100. 「2017 山东二轮集训 Day1」第一题 主席树+二分
- PHP获取字符串长度之strlen和mb_strlen的区别
- linux 银河麒麟V10 VSFTPD服务端安装、配置的图文教程
- breakpoint
- mysql delete删除速度慢_MYSQL-DELETE优化
- HTML5 video视频制作,控制按钮
热门文章
- itext转换HTML为pdf,支持中文换行
- 在Linux上安装java、tomcat、mysql
- 中国降水量数据dta和EXCEL版:1979-2020年面板数据
- [ECHARTS]自定义日历坐标系的参数配置信息问题总结
- 计算机网络1级证书,全国计算机等级WPS OFFICE一级证书
- PHP程序运行Python脚本
- java 画树_java Graphics 绘制树形图,保存图片
- c语言定时1小时,1小时c语言入门.pdf
- 【热力学】基于Matlab模拟生成热晕
- Boostrap_响应式导航栏,点击汉堡按钮遮盖下方元素