日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql中数据定义和数据控制语言_DB-数据操控与定义语言

發布時間:2025/3/20 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql中数据定义和数据控制语言_DB-数据操控与定义语言 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據操控語言

數據操控語言主要用于對表中數據的增刪改。使用insert可對表進行插入數據,update可修改表中的數據或結構,delete則可進行刪除。

首先看一下我們在何表中操作:

1,insert

插入單行數據可使用:insert into 表名(字段名1,字段名2 ,...)values (值1,值2,...)

——要注意這里的字段名順序要和值的順序一一對應。同時若某字段類型可為空,則可忽略填寫該字段。

插入多行數據可使用:insert into 表名 values (值1,值2,...),(值1,值2,...),(值1,值2,...)

——如若省略填寫目標字段列表則會默認為填寫所有字段。所以輸入數據時,所有字段對應的數據都需要輸入。

例:插入Fallulah的信息INSERT INTO beauty(NAME,phone)

VALUES('Fallulah',888888);

#其他為空的或自增的可以不填

例:插入Sirsa Shekim的信息INSERT INTO beauty VALUES

(NULL,'Sirsa Shekim',NULL,NOW(),666666,NULL,NULL);

個人覺得還是指定字段名好用一點。

2,update

語法:update 表名 set 字段名1=新值、字段名2=新值、... where 篩選條件

——注意如若不加條件則會進行整表的修改。

例:將Sirsa Shekim的電話改成868686UPDATE beauty SET phone=868686

WHERE NAME LIKE 'Sirsa Shekim';

3,delete

語法:delete from 表名 where 篩選條件;

——自增列從斷點開始,有返回值,可回滾,支持在多表中刪除。truncate table 表名;

——自增列從1開始,無返回值,不可回滾。

自增列及回滾后續會介紹。DELETE be FROM beauty be

LEFT JOIN boys b

ON be.`boyfriend_id`=b.`id`

WHERE b.`id` IS NULL;

#delete后面跟著要刪除表的別名

數據定義語言

數據定義語言則一般用于對表或數據庫的處理。可使用create創建表或數據庫,alter修改表或數據庫,而drop則可進行刪除。

對于數據庫create database [if not exists] 庫名;——創建數據庫

alter database 庫名 character set 字符集;——修改數據庫的字符集

drop database [if exists] 庫名;——刪除數據庫

對于數據庫的操作較為單一。

數據類型

在學習對表的操作前,我們先來了解一下這幾種數據類型。

1,數值型整型——int

浮點型——float(m,n)

定點型——dec(m,n)較浮點型其精度較高

——m 表示整數部加小數部的總長,n 表示小數后的位數

這里只提供了幾種常用型,其它的字節呀,無符號呀什么的大家可自行查閱。

2,字符型char——給了固定空間。

varchar——無固定大小,需指定,效率較高。

3,日期型date(4字節)

datetime(8字節)——對時區的變化不是很敏感。

timestamp(4字節)——對時區的變化較敏感。

對于表

1,創建表

語法:create table [IF NOT EXISTS] 表名 (字段名1 字段類型 【字段約束】、字段名2 ...)

字段約束下面會介紹。

2,修改表

語法:alter table 表名(修改表名) rename to 新表名

(修改字段名)change column 舊名+新名+類型

(修改字段類型)modify column 字段名+新類型

(增加字段)add column 字段名+類型

(刪除字段)drop column 字段名

這里的column有時可以省略。

3,刪除表

語法:drop table 表名

4,表的復制

語法:create table 新表 like 舊表——只復制了結構。

create table 新表 select * from 舊表——復制了結構和數據。

常見的字段約束NOT NULL——非空,必須填入數據

DEFAULT——設置默認值

UNIQUE——數據呈唯一性,可為空

PRIMARY KEY——主鍵

FOREIGN KEY——外鍵

主鍵的數據呈唯一性,不可為空。且每張表中只能有一個,但可聯合。

外鍵中從表的數據需來自其關聯主表。且其外鍵列需與主表的關聯列類型一致。因數據來源問題,所以要先插入主表數據再插入從表的。刪除也是同樣的,但也有非常規的方法,即集聯刪除或集聯制空。集聯刪除——在外鍵后加 on delete cascabe 則刪主表時,從表會一起被刪。

集聯制空——在外鍵后加 on delete set null 則刪主表時,從表中相關聯的數據會變為NULL。

如何使用字段約束

對于字段約束,我們可以分為兩大類,這樣在使用時思路能清晰一些。

1,列級約束

對于非空、默認、唯一、主鍵在創建表時,可直接在字段名和類型后面追加約束。(如上面介紹般)

或者利用modify進行添加或修改。(如上面介紹般)

2,表級約束

對于唯一、主鍵、外鍵在創建表時,可跟在所有描述完的字段的最下層。

——【constraint 約束名】 約束類型(字段名)或者利用add添加或修改。ALTER TABLE beauty ADD

CONSTRAINT fy FOREIGN KEY (boyfriend_id) REFERENCES boys(id);刪除時則可用drop(跟于alter后)

自增長列

AUTO_INCREMENT在創建表時,添于約束后即可。

起始值為1,步長為1,步長可修改。

一個表最多一個標識列,且需為數值型(一般為標識序號)。

——通過修改auto_increment_increment可調整步長。參考資料:李玉婷.MYSQL基礎教程.B站資源

封面插圖:Ricardo Polo.B圈設計師

本文作者: ? 高小一

聯系小編:

GXTXG@outlook.com

本文鏈接:

http://adolesce.cn/archives/15.html

版權聲明:本文為博主原創文章,遵循

CC 4.0 BY-SA

版權協議,轉載請附上原文出處鏈接和本聲明。

總結

以上是生活随笔為你收集整理的mysql中数据定义和数据控制语言_DB-数据操控与定义语言的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。