天天看點

【SQL資料庫基礎05】資料定義語言DDL-庫表的管理、資料類型、常見的限制

文章目錄

    • 資料定義語言
    • 庫和表的管理
      • 一、庫的管理
        • 1.1、庫的建立
        • 1.2 庫的修改
        • 1.3 庫的删除
      • 二、表的管理
        • 2.1 表的建立 ★
        • 2.2 表的修改
        • 2.3 表的删除
        • 2.4 表的複制
      • 案例分析
      • 【學習資料】
        • 【01學習筆記】
        • 【02課程資料】
  • 資料定義語言

    庫和表的管理

    一、庫的管理

    建立、修改、删除

    二、表的管理

    建立、修改、删除

    建立: create

    修改: alter

    删除: drop

    */

    一、庫的管理

    1.1、庫的建立

    文法:

    create database [if not exists]庫名;

    #案例:建立庫Books
    
    CREATE DATABASE IF NOT EXISTS books ;
               

    1.2 庫的修改

    ​ RENAME DATABASE books TO 新庫名;
    #更改庫的字元集
    ALTER DATABASE books CHARACTER SET gbk;
               

    1.3 庫的删除

    二、表的管理

    2.1 表的建立 ★

    文法:

    create table 表名(

    ​ 列名 列的類型【(長度) 限制】,

    ​ 列名 列的類型【(長度) 限制】,

    ​ 列名 列的類型【(長度) 限制】,

    ​ …

    ​ 列名 列的類型【(長度) 限制】

    #案例:建立表Book
    
    CREATE TABLE book(
    	id INT,#編号
    	bName VARCHAR(20),#圖書名
    	price DOUBLE,#價格
    	authorId  INT,#作者編号
    	publishDate DATETIME#出版日期
     );
               
    DESC book;
    【SQL資料庫基礎05】資料定義語言DDL-庫表的管理、資料類型、常見的限制
    #案例:建立表author
    CREATE TABLE IF NOT EXISTS author(
    	id INT,
    	au_name VARCHAR(20),
    	nation VARCHAR(10)
    )
               
    DESC author;
    【SQL資料庫基礎05】資料定義語言DDL-庫表的管理、資料類型、常見的限制

    2.2 表的修改

    文法

    alter table 表名 add | drop | modify | change column 列名 【列類型 限制】;

    #①修改列名
    ALTER TABLE book CHANGE COLUMN publishdate pubDate DATETIME;
    
    #②修改列的類型或限制
    ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP;
    
    #③添加新列
    ALTER TABLE author ADD COLUMN annual DOUBLE; 
    
    #④删除列
    ALTER TABLE book_author DROP COLUMN  annual;
    
    #⑤修改表名
    ALTER TABLE author RENAME TO book_author;
               
    DESC book;

    2.3 表的删除

    DROP TABLE IF EXISTS book_author;
    SHOW TABLES;
               
    #通用的寫法:
    DROP DATABASE IF EXISTS 舊庫名;
    CREATE DATABASE 新庫名;
    
    
    DROP TABLE IF EXISTS 舊表名;
    CREATE TABLE  表名();
               

    2.4 表的複制

    #0.先建個表
    INSERT INTO author VALUES
    (1,'村上春樹','日本'),
    (2,'莫言','中國'),
    (3,'馮唐','中國'),
    (4,'金庸','中國');
    
    SELECT * FROM Author;
    SELECT * FROM copy2;
    
    #1.僅僅複制表的結構
    CREATE TABLE copy LIKE author;
    
    #2.複制表的結構+資料
    CREATE TABLE copy2 
    SELECT * FROM author;
    
    #3.隻複制部分資料
    CREATE TABLE copy3
    SELECT id,au_name
    FROM author 
    WHERE nation='中國';
    
    #4.僅僅複制某些字段
    CREATE TABLE copy4 
    SELECT id,au_name
    FROM author
    WHERE 0;
               

    案例分析

    1. 建立表dept1

    NAME NULL? TYPE

    id INT(7)

    NAME VARCHAR(25)

    USE test;
    CREATE TABLE dept1(
    	id INT(7),
    	NAME VARCHAR(25)
    );
               
    2. 将表departments中的資料插入新表dept2中
    CREATE TABLE dept2
    SELECT department_id,department_name
    FROM myemployees.departments;
               

    3. 建立表emp5

    NAME NULL? TYPE

    id INT(7)

    First_name VARCHAR (25)

    Last_name VARCHAR(25)

    Dept_id INT(7)

    CREATE TABLE emp5(
      id INT(7),
      first_name VARCHAR(25),
      last_name VARCHAR(25),
      dept_id INT(7)
    );
               

    #4. 将列Last_name的長度增加到50

    #5. 根據表employees建立employees2

    #6. 删除表emp5

    #7. 将表employees2重命名為emp5

    #8.在表dept和emp5中添加新列test_column,并檢查所作的操作

    #9.直接删除表emp5中的列 dept_id

    DESC emp5;
    ALTER TABLE emp5 DROP COLUMN test_column;
               

【學習資料】

【01學習筆記】

  • 【SQL資料庫基礎01】資料庫和SQL概述
  • 【SQL資料庫基礎02】MySQL最新版安裝使用教程–(安裝、解除安裝、登入、常用指令、文法規範、圖形化界面SQLyog)
  • 【SQL資料庫基礎03】資料處理之查詢 (•過濾和排序資料 •分組函數 •分組查詢 •多表查詢 •分頁查詢 •聯合查詢)
  • 【SQL查詢系列】子查詢經典案例
  • 【SQL資料庫基礎04】資料操縱語言DML,即SQL的增删改查
  • 【SQL資料庫基礎05】資料定義語言DDL-庫表的管理、資料類型、常見的限制
  • 【SQL資料庫基礎05-1】常見的資料類型–• 數值類型• 字元類型• 日期類型
  • 【SQL資料庫基礎05-2】常見限制與辨別列
  • 【SQL資料庫基礎06】事務控制語言TCL–事務(概念、特性、隔離級别、案例示範)
  • 【SQL資料庫基礎07】視圖–定義、增删改查視圖
  • 【SQL資料庫基礎08】變量–系統變量:全局、會話、自定義變量
  • 【SQL資料庫基礎09】存儲過程
  • 【SQL資料庫基礎10】函數
  • 【SQL資料庫基礎11】流程控制結構

【02課程資料】

  • 《資料庫系統概論(第5版)》
  • 計院學網盤複習資料–資料庫
  • 尚矽谷MySQL核心技術-婷姐