文章目录

  • DDL语言
    • 1. 库的管理
      • 1. 库的创建
      • 2. 库的修改
      • 3. 库的删除
    • 2. 表的管理
      • 1.表的创建 ★
      • 2.表的修改 (对表内的列进行操作)
        • ①修改列名
        • ②修改列的类型或约束
        • ③添加新列
        • ④删除列
        • ⑤修改表名
      • 3.表的删除
        • 通用的写法:
      • 4.表的复制
        • 1. 仅仅复制表的结构
        • 2. 复制表的 结构+数据
          • 1. 只复制部分数据
          • 2. 仅仅复制某些字段
    • 创建表的约束
      • 六大约束
      • 1.添加列级约束
      • 2.添加表级约束

DDL语言

  • DDL语言:数据定义语言

库和表的管理

  1. 库的管理
    创建、修改、删除
  2. 表的管理
    创建、修改、删除
  • 创建: create
  • 修改: alter
  • 删除: drop

1. 库的管理

1. 库的创建

语法:
create database [if not exists]库名;
[if not exists]:为选填字段,表示如果库已经存在就不再创建

  1. 案例:创建库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 表名
    (
    列名 列的类型(长度) 【约束】,
    列名 列的类型(长度) 【 约束】,
    ...
    列名 列的类型(长度) 【 约束】
    )
  1. 案例:创建表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 新列名 类型;
  1. 在author表中添加新列名为年薪。
    alter table author add column annual double ;

④删除列

  • 语法:
    alter table 表名 drop column 要删的列名 ;

alter table book_author drop column annual;

⑤修改表名

  • 语法:
    alter table 表名 rename to 新表名 ;
  1. 将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为新标
  1. 复制表auther的结构给新标copy
    create table copy LIKE author ;

2. 复制表的 结构+数据

  • 语法:
    create table 新表
    select * from 待复制的表 ;
  1. 复制表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相关推荐

  1. 数据表的新建 修改 删除 mysql

    数据表的新建 修改 删除 mysql 我们准备操做目标数据库了 操作哪个库,就选中哪个库 创建数据表 新建一个数据库 新建一个数据表(学生表) 数据表中记录:编号,姓名,成绩,身高 建库 建表 查看建 ...

  2. MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制

    /*进阶 11 DDL 数据库定义语言库和表的管理一:库的管理:创建/修改/删除二:表的管理:创建/修改/删除创建: CREATE DATABASE [IF NOT EXISTS] 库名;修改: al ...

  3. 七、MySQL DDL数据定义语言 学习笔记(库和表的创建、修改、删除详解 + 强化复习)

    DDL语言 数据定义语言 库和表的管理: 一.库的管理: 创建.修改.删除 二.表的管理: 创建.修改.删除 创建: create 修改: alter 删除: drop 一.库的管理 1.库的创建: ...

  4. MySQL数据库之DDL语言:库和表的创建CREATE、修改ALTER、删除DROP

    文章目录 @[TOC] MySQL数据库之DDL语言:库和表的创建.修改.删除 1.DDL 数据定义语言 2.库的管理 2.1 库的创建 2.2 库的修改(能修改的不多,如修改字符集) 2.3 库的删 ...

  5. 数据库基础--数据库基础管理(创建库/表 以及插入修改删除表数据)

    1.啥子是数据库–存储数据的仓库 2.什么是数据–音乐,电影,文本,图片等 常见的数据库软件 Oracle 不开源 跨平台 厂商:甲骨文 MySQL 开源 跨平台 厂商:甲骨文 SQL Server ...

  6. SQL基础学习总结:2(表的创建、删除、更新和名称修改)

    表的创建.删除.更新和名称修改 登录MySQL(mysql -u root -p语句) 步骤: 1.首先得先使用mysql -u root -p语句登录数据库: 2.在"Enter pass ...

  7. 【Excel自动化办公Part3】:工作表的创建、删除、复制和修改名称,冻结窗格,添加筛选

    目录 一.工作表的创建.删除.复制和修改名称 1.创建新的工作表 2.删除工作表 3.复制工作表 4.修改工作表名称 二.冻结窗格 三.添加筛选 一.工作表的创建.删除.复制和修改名称 1.创建新的工 ...

  8. mysql利用触发器删除数据库_[数据库]mysql 触发器的创建 修改 删除

    [数据库]mysql 触发器的创建 修改 删除 0 2015-12-16 23:00:04 //做一个简单的练习,创建一个简单的触发器 完成添加文章的时候,自动加上时间,默认作者 为 '日记本的回忆' ...

  9. oracle创建和删除表空间,oracle 表空间创建和删除

    oracle数据库:数据库对象以及表数据都存储在表空间中,创建用户时可以指定对应的表空间.这样用户可以在各自的表空间中操作数据,互不干扰. 1. 表空间创建 若不清楚表空间对应文件的路径,可以登录系统 ...

最新文章

  1. 细化 Sobel 边缘提取
  2. ylbtech-数据库设计与优化-对作为复选框/单选列表的集合表的设计
  3. c语言贪吃蛇最简单,熬书几个月,终于编出简易的贪吃蛇了,VS2013
  4. ●HDU 2871 Memory Control(Splay)
  5. 2015.05.15,外语,学习笔记-《Word Power Made Easy》 01 “如何讨论人格特点”
  6. mysql导入竖杠分割的数据_MYSQL :逗号分隔串表,分解成竖表
  7. 点计算机没有本地磁盘,快速解决WinPE系统下没有本地磁盘的方法
  8. java输出输入的日期_Java编写的日历,输入年月,输出这个月的日期与星期
  9. texstudio统计字数
  10. 大家好,我是达叔,我创建了一个做项目的星球【达叔与他的朋友们】,来吗?...
  11. css空心三角形_CSS实现空心三角指示箭头
  12. 黎曼 zeta 函数与黎曼猜想
  13. WNMP项目环境部署
  14. 利用三轴加速器的计步测算方法
  15. loj#6100. 「2017 山东二轮集训 Day1」第一题 主席树+二分
  16. PHP获取字符串长度之strlen和mb_strlen的区别
  17. linux 银河麒麟V10 VSFTPD服务端安装、配置的图文教程
  18. breakpoint
  19. mysql delete删除速度慢_MYSQL-DELETE优化
  20. HTML5 video视频制作,控制按钮

热门文章

  1. itext转换HTML为pdf,支持中文换行
  2. 在Linux上安装java、tomcat、mysql
  3. 中国降水量数据dta和EXCEL版:1979-2020年面板数据
  4. [ECHARTS]自定义日历坐标系的参数配置信息问题总结
  5. 计算机网络1级证书,全国计算机等级WPS OFFICE一级证书
  6. PHP程序运行Python脚本
  7. java 画树_java Graphics 绘制树形图,保存图片
  8. c语言定时1小时,1小时c语言入门.pdf
  9. 【热力学】基于Matlab模拟生成热晕
  10. Boostrap_响应式导航栏,点击汉堡按钮遮盖下方元素