电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

SQL語句中的DDL類型的數據庫定義語言操作

瀏覽:43日期:2023-03-06 14:25:11
目錄
  • SQL語句之DDL類型的數據庫定義語言
  • 1.DDL類型的SQL語句基本概述
  • 2.DDL類型的SQL語句之數據庫層面的操作
    • 2.1.創建一個數據庫
    • 2.2.查看MySQL中有哪些數據庫
    • 2.3.進入某個數據庫
    • 2.4.查看當前處于哪個數據庫中
  • 3.DDL類型的SQL語句之數據庫表層面的操作
    • 3.1.創建一張數據表
    • 3.2.查看當前數據庫中所有的數據表
    • 3.3.查詢某張表的表結構
    • 3.4.查詢某張表的建表語句
    • 3.5.在現有表中添加新的字段
    • 3.6.修改現有表中的字段數據類型和字段名稱
    • 3.7.刪除現有表中已存在的字段
    • 3.8.修改表的名字
    • 3.9.刪除數據表
  • 4.DDL類型的SQL語句匯總

    SQL語句之DDL類型的數據庫定義語言

    1.DDL類型的SQL語句基本概述

    DDL類型的SQL語句全稱為Data Definition Language,中文名稱為數據定義語言,主要是用來定義數據庫中的對象的,例如數據庫、表和字段的定義,簡單的理解就是DDL語言是來操作數據庫、表和字段的。

    2.DDL類型的SQL語句之數據庫層面的操作

    2.1.創建一個數據庫

    創建數據庫的命令格式:CREATE DATABASE [IF NOT EXISTS] 數據庫名稱 [DEFAULT CHARSET 字符集] [COLLATE 排序規則];
    命令格式中,[]中括號里的參數是可選項,都有默認的值。

    • [IF NOT EXISTS]:創建數據庫時,檢查數據庫是否存在,如果存在則不執行任何動作,如果不存在則創建,常用語一個大型SQL腳本中,增加邏輯判斷,防止報錯。
    • [DEFAULT CHARSET]:指定數據庫的默認字符集,例如UTF8等等
    • [COLLATE]:指定排序規則,用的較少。

    1)創建一個數據庫

    mysql> create database db_1;Query OK, 1 row affected (0.07 sec)

    2)創建數據庫并指定默認的字符集

    在MySQL數據庫中一般不用utf8類型的字符集,因為默認長度為3,有很多數據類型是大于3的,因此采用utf8mb4類型的字符集。

    mysql> create database db_2 default charset utf8mb4;Query OK, 1 row affected (0.04 sec)

    3)在創建數據庫時使用邏輯判斷

    當我們創建數據庫時,如果數據庫已經存在,那么創建時就會報錯,如下圖所示:

    在創建數據庫的命令中增加上IF NOT EXISTS參數就可以完美解決這個報錯問題,當創建的數據庫已經存在,那么就不進行任何操作。

    mysql> create database if not exists db_1;Query OK, 1 row affected, 1 warning (0.01 sec)

    2.2.查看MySQL中有哪些數據庫

    mysql> show databases;+--------------------+| Database   |+--------------------+| db_1       || db_2       || information_schema || mysql      || performance_schema || sys|+--------------------+6 rows in set (0.00 sec)

    2.3.進入某個數據庫

    mysql> use db_1;Database changed

    2.4.查看當前處于哪個數據庫中

    ()括號是MySQL數據庫中的一種函數,后面講。

    mysql> select database();+------------+| database() |+------------+| db_1       |+------------+1 row in set (0.01 sec)

    3.DDL類型的SQL語句之數據庫表層面的操作

    3.1.創建一張數據表

    創建表的語法格式:

    CREATE TABLE 表名 (	字段1 字段1的類型 [COMMENT 字段1的注釋],	字段2 字段2的類型 [COMMENT 字段2的注釋],	字段3 字段3的類型 [COMMENT 字段3的注釋],	......	字段n 字段1的類型 [COMMENT 字段n的注釋]) [COMMENT 表的注釋];

    注意:在創建表時,每個字段之間都以逗號隔開,最后一個字段無需添加逗號。

    創建一張數據表:

    根據下圖所示的表格,在MySQL中創建一張數據表。

    表名:技術中心新冠疫苗接種信息表。

    1.進入db_1數據庫中mysql> use db_1;2.創建表create table jszx_xgymjzxxb (    id int comment "編號",    bm varchar(10) comment "部門",    name varchar(10) comment "姓名",    wd char(1) comment "未打",    first_injection char(1) comment "第一針",    second_injection char(1) comment "第二針",    third_injection char(1) comment "第三針",    jtyy varchar(50) comment "具體原因") comment "技術中心新館疫苗接種信息表";

    3.2.查看當前數據庫中所有的數據表

    通過show tables命令可以查看當前所在的數據庫中,有哪些數據表。

    mysql> show tables;+----------------+| Tables_in_db_1 |+----------------+| jszx_xgymjzxxb |+----------------+1 row in set (0.00 sec)

    3.3.查詢某張表的表結構

    通過desc 表名的方式可以看到指定表的表結構,包括有哪些字段以及字段的類型。

    mysql> desc jszx_xgymjzxxb;+------------------+-------------+------+-----+---------+-------+| Field    | Type| Null | Key | Default | Extra |+------------------+-------------+------+-----+---------+-------+| id       | int | YES  |     | NULL    |       || bm       | varchar(10) | YES  |     | NULL    |       || name     | varchar(10) | YES  |     | NULL    |       || wd       | char(1)     | YES  |     | NULL    |       || first_injection  | char(1)     | YES  |     | NULL    |       || second_injection | char(1)     | YES  |     | NULL    |       || third_injection  | char(1)     | YES  |     | NULL    |       || jtyy     | varchar(50) | YES  |     | NULL    |       |+------------------+-------------+------+-----+---------+-------+8 rows in set (0.01 sec)

    3.4.查詢某張表的建表語句

    通過show create table 表名的方式可以查詢出數據表的建表語句,另外還會附帶一些默認參數,例如CHARSET和COLLATE等等。

    mysql> show create table jszx_xgymjzxxb;| Table  | Create Table || jszx_xgymjzxxb | CREATE TABLE `jszx_xgymjzxxb` (  `id` int DEFAULT NULL COMMENT "編號",  `bm` varchar(10) DEFAULT NULL COMMENT "部門",  `name` varchar(10) DEFAULT NULL COMMENT "姓名",  `wd` char(1) DEFAULT NULL COMMENT "未打",  `first_injection` char(1) DEFAULT NULL COMMENT "第一針",  `second_injection` char(1) DEFAULT NULL COMMENT "第二針",  `third_injection` char(1) DEFAULT NULL COMMENT "第三針",  `jtyy` varchar(50) DEFAULT NULL COMMENT "具體原因") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT="技術中心新館疫苗接種信息表"

    3.5.在現有表中添加新的字段

    表結構創建完畢后,隨著新需求的落地,就意味著要對表中當前字段以及類型進行修改,下面就來演示對于表的一系列修改操作。

    為現有表添加字段的命令格式:ALTER TABLE 表名 ADD 字段名 類型(長度) [COMMENT 注釋] [約束]

    為jszx_xgymjzxxb張表中添加一個新字段jzqy(接種區域),類型為varchar,長度為30。

    mysql> alter table jszx_xgymjzxxb add jzqy varchar(30) comment "接種區域";

    查看表結構是否增加字段成功。

    mysql> desc jszx_xgymjzxxb;+------------------+-------------+------+-----+---------+-------+| Field    | Type| Null | Key | Default | Extra |+------------------+-------------+------+-----+---------+-------+| id       | int | YES  |     | NULL    |       || bm       | float(10,0) | YES  |     | NULL    |       || name     | varchar(10) | YES  |     | NULL    |       || wd       | char(1)     | YES  |     | NULL    |       || first_injection  | char(1)     | YES  |     | NULL    |       || second_injection | char(1)     | YES  |     | NULL    |       || third_injection  | char(1)     | YES  |     | NULL    |       || jtyy     | varchar(50) | YES  |     | NULL    |       || jzqy     | varchar(30) | YES  |     | NULL    |       |				#成功增加+------------------+-------------+------+-----+---------+-------+9 rows in set (0.01 sec)

    3.6.修改現有表中的字段數據類型和字段名稱

    修改表字段數據類型的命令格式:ALTER TABLE 表名 MODIFY 字段名 新數據類型(長度)

    修改表字段名稱以及字段類型的命令格式:ALTER TABLE 表名 CHANGE 舊字段名 新字段名 類型(長度) [COMMENT 注釋] [約束];

    將jszx_xgymjzxxb表的jtyy字段修改為wjzymjtyy(未接種疫苗具體原因),類型修改為varchar(100)。

    mysql> alter table jszx_xgymjzxxb change jtyy wjzymjtyy varchar(100) comment "未接種疫苗具體原因";

    查看表結構中字段是否修改成功。

    mysql> desc jszx_xgymjzxxb;+------------------+--------------+------+-----+---------+-------+| Field    | Type | Null | Key | Default | Extra |+------------------+--------------+------+-----+---------+-------+| id       | int  | YES  |     | NULL    |       || bm       | float(10,0)  | YES  |     | NULL    |       || name     | varchar(10)  | YES  |     | NULL    |       || wd       | char(1)      | YES  |     | NULL    |       || first_injection  | char(1)      | YES  |     | NULL    |       || second_injection | char(1)      | YES  |     | NULL    |       || third_injection  | char(1)      | YES  |     | NULL    |       || wjzymjtyy| varchar(100) | YES  |     | NULL    |       |				#修改成功| jzqy     | varchar(30)  | YES  |     | NULL    |       |	+------------------+--------------+------+-----+---------+-------+

    3.7.刪除現有表中已存在的字段

    刪除表中的字段命令格式:ALTER TABLE 表名 DROP 字段名

    刪除jszx_xgymjzxxb表的jzqy字段

    mysql> alter table jszx_xgymjzxxb drop jzqy;

    查看表結構中jzqy字段是否被刪除。

    mysql> desc jszx_xgymjzxxb;+------------------+--------------+------+-----+---------+-------+| Field    | Type | Null | Key | Default | Extra |+------------------+--------------+------+-----+---------+-------+| id       | int  | YES  |     | NULL    |       || bm       | float(10,0)  | YES  |     | NULL    |       || name     | varchar(10)  | YES  |     | NULL    |       || wd       | char(1)      | YES  |     | NULL    |       || first_injection  | char(1)      | YES  |     | NULL    |       || second_injection | char(1)      | YES  |     | NULL    |       || third_injection  | char(1)      | YES  |     | NULL    |       || wjzymjtyy| varchar(100) | YES  |     | NULL    |       |+------------------+--------------+------+-----+---------+-------+8 rows in set (0.00 sec)

    3.8.修改表的名字

    修改表名稱的命令格式:ALTER TABLE 表名 RENAME TO 新表名

    mysql> alter table ygxxb rename to ryxxb;

    3.9.刪除數據表

    刪除數據庫中的表有兩種方式,一種是DROP直接刪除表以及表中的數據,另一種是截斷表,不刪除表,只清空表中的數據。

    刪除表的命令:DROP TABLE [ IF EXISTS ] 表名

    清空表數據的命令:TRUNCATE TABLE 表名

    mysql> truncate table ryxxb;mysql> drop table ryxxb;

    4.DDL類型的SQL語句匯總

    數據庫層面

    1)創建數據庫的命令

    CREATE DATABASE [IF NOT EXISTS] 數據庫名稱 [DEFAULT CHARSET 字符集] [COLLATE 排序規則];

    2)查看MySQL中有哪些數據庫

    show databases;

    3)進入某個數據庫

    use db_1;

    4)查看當前處于哪個數據庫中

    select database();

    表層面

    1)創建一張數據表

    CREATE TABLE 表名 (	字段1 字段1的類型 [COMMENT 字段1的注釋],	字段2 字段2的類型 [COMMENT 字段2的注釋],	字段3 字段3的類型 [COMMENT 字段3的注釋],	......	字段n 字段1的類型 [COMMENT 字段n的注釋]) [COMMENT 表的注釋];

    2)查看當前數據庫中所有的數據表

    show tables;

    3)查詢某張表的表結構

    desc jszx_xgymjzxxb;

    4)查詢某張表的建表語句

    show create table jszx_xgymjzxxb;

    5)在現有表中添加新的字段

    ALTER TABLE 表名 ADD 字段名 類型(長度) [COMMENT 注釋] [約束]

    6)修改表字段數據類型

    ALTER TABLE 表名 MODIFY 字段名 新數據類型(長度)

    7)修改表字段名稱以及字段類型

    ALTER TABLE 表名 CHANGE 舊字段名 新字段名 類型(長度) [COMMENT 注釋] [約束];

    8)刪除表中的字段

    ALTER TABLE 表名 DROP 字段名

    9)修改表的名字

    ALTER TABLE 表名 RENAME TO 新表名

    10)刪除數據表

    DROP TABLE [ IF EXISTS ] 表名TRUNCATE TABLE 表名

    到此這篇關于SQL語句中的DDL類型的數據庫定義語言的文章就介紹到這了,更多相關SQL DDL數據庫定義語言內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

    標簽: MsSQL
    主站蜘蛛池模板: CXB船用变压器-JCZ系列制动器-HH101船用铜质开关-上海永上船舶电器厂 | 酒瓶_酒杯_玻璃瓶生产厂家_徐州明政玻璃制品有限公司 | 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 低温柔性试验仪-土工布淤堵-沥青车辙试验仪-莱博特(天津)试验机有限公司 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 二手注塑机回收_旧注塑机回收_二手注塑机买卖 - 大鑫二手注塑机 二手光谱仪维修-德国OBLF光谱仪|进口斯派克光谱仪-热电ARL光谱仪-意大利GNR光谱仪-永晖检测 | 高铝砖-高铝耐火球-高铝耐火砖生产厂家-价格【荣盛耐材】 | 披萨石_披萨盘_电器家电隔热绵加工定制_佛山市南海区西樵南方综合保温材料厂 | 渣油泵,KCB齿轮泵,不锈钢齿轮泵,重油泵,煤焦油泵,泊头市泰邦泵阀制造有限公司 | 恒温油槽-恒温水槽-低温恒温槽厂家-宁波科麦仪器有限公司 | 富森高压水枪-柴油驱动-养殖场高压清洗机-山东龙腾环保科技有限公司 | 购买舔盐、舔砖、矿物质盐压块机,鱼饵、鱼饲料压块机--请到杜甫机械 | 网站建设-临朐爱采购-抖音运营-山东兆通网络科技 | 户外健身路径_小区健身器材_室外健身器材厂家_价格-浩然体育 | 首页 - 军军小站|张军博客| 学生作文网_中小学生作文大全与写作指导| 冷凝锅炉_燃气锅炉_工业燃气锅炉改造厂家-北京科诺锅炉 | 精密冲床,高速冲床等冲压设备生产商-常州晋志德压力机厂 | 西安展台设计搭建_西安活动策划公司_西安会议会场布置_西安展厅设计西安旭阳展览展示 | 沈阳建筑设计公司_加固改造设计_厂房设计_设计资质加盟【金辉设计】 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 河南包装袋厂家_河南真空袋批发价格_河南服装袋定制-恒源达包装制品 | 华东师范大学在职研究生招生网_在职研究生招生联展网 | 微型实验室真空泵-无油干式真空泵-微型涡旋耐腐蚀压缩机-思科涡旋科技(杭州)有限公司 | 骨龄仪_骨龄检测仪_儿童骨龄测试仪_品牌生产厂家【品源医疗】 | 上海办公室设计_办公楼,写字楼装修_办公室装修公司-匠御设计 | 天津货架厂_穿梭车货架_重型仓储货架_阁楼货架定制-天津钢力仓储货架生产厂家_天津钢力智能仓储装备 | 找培训机构_找学习课程_励普教育| 工业rfid读写器_RFID工业读写器_工业rfid设备厂商-ANDEAWELL | 天津货架厂_穿梭车货架_重型仓储货架_阁楼货架定制-天津钢力仓储货架生产厂家_天津钢力智能仓储装备 | 气动隔膜阀_气动隔膜阀厂家_卫生级隔膜阀价格_浙江浙控阀门有限公司 | 合景一建-无尘车间设计施工_食品医药洁净车间工程装修总承包公司 | 滑石粉,滑石粉厂家,超细滑石粉-莱州圣凯滑石有限公司 | 杭州中策电线|中策电缆|中策电线|杭州中策电缆|杭州中策电缆永通集团有限公司 | 色谱柱-淋洗液罐-巴罗克试剂槽-巴氏吸管-5ml样品瓶-SBS液氮冻存管-上海希言科学仪器有限公司 | NM-02立式吸污机_ZHCS-02软轴刷_二合一吸刷软轴刷-厦门地坤科技有限公司 | 施工围挡-施工PVC围挡-工程围挡-深圳市旭东钢构技术开发有限公司 | 软文推广发布平台_新闻稿件自助发布_媒体邀约-澜媒宝 | 青岛美佳乐清洁工程有限公司|青岛油烟管道清洗|酒店|企事业单位|学校工厂厨房|青岛油烟管道清洗 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 | 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 |