[网站]MySQL数据库实例教程
本文最后更新于 515 天前,其中的信息可能已经有所发展或是发生改变。

工具

2024年教学进度

第三章 数据定义

第3.1节-第3.2节03/27

先来看今天的总结

-- 创建数据库
create database bookstore;
-- 使用数据库
use book;
-- 创建表
create table book(
    图书编号 char(10) not null primary key,
    图书类别 varchar(20) not null default '计算机',
    书名 varchar(40) not null,
    作者 char(10) not null,
    出版社 varchar(20) not null,
    出版时间 date not null,
    单价 float(5,2) not null,
    数量 int(5),
    折扣 float(3,2),
    封面图片 blob
);
-- 展示数据库表
desc book;

今天的操作在书本P49页-P53页

第3.2.2节-第3.3.3节03/29

管理数据库表

--修改表结构
    -- 添加列
    alter table book add column 页数 int(5);
    -- 删除列
    alter table book drop column 页数;
    -- 修改默认值为‘计算机网络技术’
    alter table book alter column 图书类别 set default '计算机网络技术';
    -- 修改列类型
    alter table book modify column 书名 varchar(50);
    -- 将作者重命名为笔者
    alter table book change column 作者 笔者 char(10);
-- 修改表名book改为books
rename table book to books;
-- 复制表
    -- 复制表结构(不包括数据)
    create table books_copy like books;
    -- 复制表结构和数据
    create table books_copy as select * from books;
-- 删除表
drop table books_copy;
-- 显示数据表信息
show tables;
    -- 例
    use bookstore;
    show tables;

3.3.2-3.3.3、主键约束

-- 数据完整性约束
        -- 主键约束(创建表book_copy, 将书名设置为主键)
        create table book_copy(
            书名 varchar(40) not null primary key,
            作者 char(10) not null,
            出版社 varchar(20) not null,
            出版时间 date
        );
        -- 当表中的主键为复合主键时,只能将其定义为表的完整性约束
        -- 复合主键约束(创建表course表,将学号,课程号,毕业日期设置为复合主键)
        create table course(
            学号 varchar(6) not null,
            姓名 varchar(8) not null,
            毕业日期 date not null,
            课程号 varchar(3),
            学分  tinyint,
            primary key(学号, 课程号, 毕业日期)
        );
        -- 替代性约束
        create table book_copy(
            图书编号 char(10) not null,
            书名 varchar(40) not null unique,
            作者 char(10) not null,
            出版社 varchar(20) not null,
            出版时间 date,
            primary key (图书编号)
            -- unique(书名) -- 也可以这样写,这样就不必在书名行里写unique
        );

TODO

来自安徽
本博客所有文章除特别声明外,均采用署名-非商业性使用-相同方式共享 4.0进行许可,仅供个人学习使用。
上一篇
下一篇