久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

SQL語句中的DDL類型的數(shù)據(jù)庫定義語言操作

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

    SQL語句之DDL類型的數(shù)據(jù)庫定義語言

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

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

    2.DDL類型的SQL語句之?dāng)?shù)據(jù)庫層面的操作

    2.1.創(chuàng)建一個(gè)數(shù)據(jù)庫

    創(chuàng)建數(shù)據(jù)庫的命令格式:CREATE DATABASE [IF NOT EXISTS] 數(shù)據(jù)庫名稱 [DEFAULT CHARSET 字符集] [COLLATE 排序規(guī)則];
    命令格式中,[]中括號(hào)里的參數(shù)是可選項(xiàng),都有默認(rèn)的值。

    • [IF NOT EXISTS]:創(chuàng)建數(shù)據(jù)庫時(shí),檢查數(shù)據(jù)庫是否存在,如果存在則不執(zhí)行任何動(dòng)作,如果不存在則創(chuàng)建,常用語一個(gè)大型SQL腳本中,增加邏輯判斷,防止報(bào)錯(cuò)。
    • [DEFAULT CHARSET]:指定數(shù)據(jù)庫的默認(rèn)字符集,例如UTF8等等
    • [COLLATE]:指定排序規(guī)則,用的較少。

    1)創(chuàng)建一個(gè)數(shù)據(jù)庫

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

    2)創(chuàng)建數(shù)據(jù)庫并指定默認(rèn)的字符集

    在MySQL數(shù)據(jù)庫中一般不用utf8類型的字符集,因?yàn)槟J(rèn)長度為3,有很多數(shù)據(jù)類型是大于3的,因此采用utf8mb4類型的字符集。

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

    3)在創(chuàng)建數(shù)據(jù)庫時(shí)使用邏輯判斷

    當(dāng)我們創(chuàng)建數(shù)據(jù)庫時(shí),如果數(shù)據(jù)庫已經(jīng)存在,那么創(chuàng)建時(shí)就會(huì)報(bào)錯(cuò),如下圖所示:

    在創(chuàng)建數(shù)據(jù)庫的命令中增加上IF NOT EXISTS參數(shù)就可以完美解決這個(gè)報(bào)錯(cuò)問題,當(dāng)創(chuàng)建的數(shù)據(jù)庫已經(jīng)存在,那么就不進(jìn)行任何操作。

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

    2.2.查看MySQL中有哪些數(shù)據(jù)庫

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

    2.3.進(jìn)入某個(gè)數(shù)據(jù)庫

    mysql> use db_1;Database changed

    2.4.查看當(dāng)前處于哪個(gè)數(shù)據(jù)庫中

    ()括號(hào)是MySQL數(shù)據(jù)庫中的一種函數(shù),后面講。

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

    3.DDL類型的SQL語句之?dāng)?shù)據(jù)庫表層面的操作

    3.1.創(chuàng)建一張數(shù)據(jù)表

    創(chuàng)建表的語法格式:

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

    注意:在創(chuàng)建表時(shí),每個(gè)字段之間都以逗號(hào)隔開,最后一個(gè)字段無需添加逗號(hào)。

    創(chuàng)建一張數(shù)據(jù)表:

    根據(jù)下圖所示的表格,在MySQL中創(chuàng)建一張數(shù)據(jù)表。

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

    1.進(jìn)入db_1數(shù)據(jù)庫中mysql> use db_1;2.創(chuàng)建表create table jszx_xgymjzxxb (    id int comment "編號(hào)",    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 "技術(shù)中心新館疫苗接種信息表";

    3.2.查看當(dāng)前數(shù)據(jù)庫中所有的數(shù)據(jù)表

    通過show tables命令可以查看當(dāng)前所在的數(shù)據(jù)庫中,有哪些數(shù)據(jù)表。

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

    3.3.查詢某張表的表結(jié)構(gòu)

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

    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 表名的方式可以查詢出數(shù)據(jù)表的建表語句,另外還會(huì)附帶一些默認(rèn)參數(shù),例如CHARSET和COLLATE等等。

    mysql> show create table jszx_xgymjzxxb;| Table  | Create Table || jszx_xgymjzxxb | CREATE TABLE `jszx_xgymjzxxb` (  `id` int DEFAULT NULL COMMENT "編號(hào)",  `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="技術(shù)中心新館疫苗接種信息表"

    3.5.在現(xiàn)有表中添加新的字段

    表結(jié)構(gòu)創(chuàng)建完畢后,隨著新需求的落地,就意味著要對(duì)表中當(dāng)前字段以及類型進(jìn)行修改,下面就來演示對(duì)于表的一系列修改操作。

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

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

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

    查看表結(jié)構(gòu)是否增加字段成功。

    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.修改現(xiàn)有表中的字段數(shù)據(jù)類型和字段名稱

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

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

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

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

    查看表結(jié)構(gòu)中字段是否修改成功。

    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.刪除現(xiàn)有表中已存在的字段

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

    刪除jszx_xgymjzxxb表的jzqy字段

    mysql> alter table jszx_xgymjzxxb drop jzqy;

    查看表結(jié)構(gòu)中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.刪除數(shù)據(jù)表

    刪除數(shù)據(jù)庫中的表有兩種方式,一種是DROP直接刪除表以及表中的數(shù)據(jù),另一種是截?cái)啾?,不刪除表,只清空表中的數(shù)據(jù)。

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

    清空表數(shù)據(jù)的命令:TRUNCATE TABLE 表名

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

    4.DDL類型的SQL語句匯總

    數(shù)據(jù)庫層面

    1)創(chuàng)建數(shù)據(jù)庫的命令

    CREATE DATABASE [IF NOT EXISTS] 數(shù)據(jù)庫名稱 [DEFAULT CHARSET 字符集] [COLLATE 排序規(guī)則];

    2)查看MySQL中有哪些數(shù)據(jù)庫

    show databases;

    3)進(jìn)入某個(gè)數(shù)據(jù)庫

    use db_1;

    4)查看當(dāng)前處于哪個(gè)數(shù)據(jù)庫中

    select database();

    表層面

    1)創(chuàng)建一張數(shù)據(jù)表

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

    2)查看當(dāng)前數(shù)據(jù)庫中所有的數(shù)據(jù)表

    show tables;

    3)查詢某張表的表結(jié)構(gòu)

    desc jszx_xgymjzxxb;

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

    show create table jszx_xgymjzxxb;

    5)在現(xiàn)有表中添加新的字段

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

    6)修改表字段數(shù)據(jù)類型

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

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

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

    8)刪除表中的字段

    ALTER TABLE 表名 DROP 字段名

    9)修改表的名字

    ALTER TABLE 表名 RENAME TO 新表名

    10)刪除數(shù)據(jù)表

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

    到此這篇關(guān)于SQL語句中的DDL類型的數(shù)據(jù)庫定義語言的文章就介紹到這了,更多相關(guān)SQL DDL數(shù)據(jù)庫定義語言內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

    標(biāo)簽: MsSQL
    主站蜘蛛池模板: 一级免费视频 | 国产天堂在线 | 男女视频在线观看 | 成人免费在线播放 | 欧美色性 | 国产精品亚洲综合 | 天天干,夜夜操 | 国产午夜精品一区二区三区视频 | 成人欧美一区二区三区黑人孕妇 | 国产精品日本欧美一区二区三区 | 天天操狠狠操网站 | 中文字幕视频在线免费观看 | 国产大片黄色 | 亚洲精品视频在线播放 | 亚洲成人在线视频播放 | 1区2区3区视频 | 欧美日韩视频在线第一区 | 亚洲福利一区二区 | 欧美一区二区三区 | 国产美女精品人人做人人爽 | 日韩超级大片免费看国产国产播放器 | 亚洲aⅴ网站 | av网址在线播放 | 久久韩剧网 | 色播99 | 国产精品美女久久久久久久久久久 | 毛片免费观看视频 | 成人av福利 | 久久午夜影院 | 久久亚洲一区二区 | 四虎av在线 | 日本一本视频 | 黄色片网站 | 91在线免费看 | 久久青青视频 | 国产a区| 日韩欧美在线中文字幕 | 久久av网| 精品久| 一级做a爰 | 91亚洲在线 |