中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

java 企業(yè)網(wǎng)站開發(fā)搜索引擎優(yōu)化簡稱seo

java 企業(yè)網(wǎng)站開發(fā),搜索引擎優(yōu)化簡稱seo,wordpress免費主題外貿(mào),官網(wǎng)蘋果刪除數(shù)據(jù) 刪除表中的一行數(shù)據(jù),也必須加上 WHERE條件,否則整列的數(shù)據(jù)都會被刪除。刪除語句: delete from 表名 where 條件; 他會將所有的符合條件的數(shù)據(jù)刪除,如果不寫條件,則表中的數(shù)據(jù)全部刪除: 如果不添…

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

刪除表中的一行數(shù)據(jù),也必須加上 WHERE條件,否則整列的數(shù)據(jù)都會被刪除。刪除語句:

delete from 表名 where 條件;

他會將所有的符合條件的數(shù)據(jù)刪除,如果不寫條件,則表中的數(shù)據(jù)全部刪除:

如果不添加where:

首先我們的工具會提醒我們這個語句非常的危險,這是工具自帶的功能,如果你使用的是黑窗口則不會有這種提示,我們無視風(fēng)險,繼續(xù)執(zhí)行:

那么表中的數(shù)據(jù)就全部都被刪除了。

我們再找一個有數(shù)據(jù)的表:

那么我們使用另一個語句也可以刪除數(shù)據(jù):

命令格式是這樣的:

truncate table 表名;

演示一下:

truncate與delete的區(qū)別在之后詳細的介紹的時候會說到,現(xiàn)在只需要記住這個語句也可以做到刪除數(shù)據(jù)的效果就可以了。

約束是什么

約束是一種限制,它通過對表的行或列的數(shù)據(jù)做出限制,來確保表的數(shù)據(jù)的完整性、唯一性。本節(jié)實驗將在實踐操作中熟悉 MySQL中的幾種約束。

SQL中最常用的 SELECT語句,用來在表中選取數(shù)據(jù),本節(jié)實驗中將通過一系列的動手操作詳細學(xué)習(xí)SELECT語句的用法。

. SQL約束

. SELECT基本語法

·數(shù)學(xué)符號條件

·AND OR IN

·通配符

·排序

. SQL內(nèi)置函數(shù)和計算

·子查詢與連接查詢

SQL約束分類

聽名字就知道,約束是一種限制,它通過對表的行或列的數(shù)據(jù)做出限制,來確保表的數(shù)據(jù)的完整性、唯一性。

比如,規(guī)定一個用戶的用戶名不能為空值且沒有重復(fù)的記錄,這就是一種約束規(guī)則。

在MySQL中,通常有這幾種約束:

約束類型

主鍵

默認值

唯一

外鍵

非空

關(guān)鍵字

PRIMARY KEY

DEFAULT

UNIQUE

FOREIGN KEY

NOT NULL

建立含有約束的表

在之前我們介紹創(chuàng)建表的格式的時候,添加約束的地方是在字段類型的后面,我們直接添加對應(yīng)的約束即可:

create table if not exists book( id int primary key , name varchar(20) unique , age varchar(3) not null , address varchar(20) default '背景' );

我們創(chuàng)建了一個表,這個表中的每一列都帶有一個約束,從上到下分別是主鍵約束,唯一約束,非空約束,默認約束,我們接下來會分別介紹這集中約束的作用。

主鍵

在數(shù)據(jù)庫中,如果有兩行記錄數(shù)據(jù)完全一樣,那么如何來區(qū)分呢?答案是無法區(qū)分,如果有兩行記錄完全相同,那么對于MySQL就會認定它們是同一個實體,這于現(xiàn)實生活是存在差別的。

假如我們要存儲一個學(xué)生的信息,信息包含姓名,身高,性別,年齡。

不幸的是有兩個女孩都叫小夢,且她們的身高和年齡相同,數(shù)據(jù)庫將無法區(qū)分這兩個實體,這時就需要用到主鍵了。

主鍵(PRIMARY KEY)是用于約束表中的一行,作為這一行的唯一標識符,在一張表中通過主鍵就能準確定位到一行,因此主鍵十分重要,主鍵不能有重復(fù)記錄且不能為空。

我們向表中插入一行數(shù)據(jù):

我們表中的id這一列已經(jīng)添加了主鍵約束,那么按照主鍵約束的規(guī)則,不能重復(fù)且不能為空,如果我們再次填寫一個id的值和他一樣則會出錯:

當我們插入同樣的id時,由于id字段有主鍵約束,則會報錯,報錯信息是重復(fù)的主鍵的值。

并且當我們不填充數(shù)據(jù)的數(shù)據(jù)也會報錯:

報錯信息是不能為空,是因為我們添加了主鍵約束才會報這個錯。

聯(lián)合主鍵

在有些時候,單一的主鍵并不能滿足于使用,那么就需要使用多個列組成聯(lián)合主鍵,聯(lián)合主鍵的生命格式如下:

create table if not exists book1( id int , u_id int, name varchar(20) unique , age varchar(3) not null , address varchar(20) default '北京', primary key (id,u_id) );

聯(lián)合主鍵的定義就不能在字段后面定義,需要在建表語句的最后使用primary key ()關(guān)鍵字定義,括號內(nèi)的參數(shù)就是要組成聯(lián)合主鍵的字段名,多個字段名之間用逗號隔開。

主鍵自增

主鍵的值是固定的,有時候我們在自己添加的時候可能會忘記自己添加到那里了,或者如果中間有空行就會出錯,不如直接讓主鍵列自己增長,我們不用手動填入主鍵的值,就可以在表中自己填入正確的主鍵值:

在主鍵列的主鍵關(guān)鍵字primary key后面使用另一個關(guān)鍵字auto_increment,就可以在添加主鍵的時候填入一個null,之后就可以在表中自己填入對應(yīng)的值:

可以看到,我們在插入數(shù)據(jù)的時候填入的是null,但是我們在數(shù)據(jù)庫中顯示的數(shù)字是按照1,2,3……這樣自動增長的,這就是主鍵自增。

默認值約束

默認值約束(DEFAULT)規(guī)定,當有DEFAULT約束的列,插入數(shù)據(jù)為空時,將使用默認值。

默認值常用于—些可有可無的字段,比如用戶的個性簽名,如果用戶沒有設(shè)置,系統(tǒng)給他應(yīng)該設(shè)定一個默認的文本,比如空文本或‘這個人太懶了,沒有留下任何信息'

在之前的案例中,第四個字段使用的就是默認值約束:

當這個字段我們不填充任何的值的時候,那么default后面的值就會被自動填充進去:

注意,是不填充任何的值,如果你最后寫了一個null,那么最后的顯示結(jié)果是這樣的:

可以看到默認值約束并沒有應(yīng)用上去,這里涉及到一個MySQL的null值和空值的區(qū)別,其實這個null也是一種數(shù)值,這個在之后我們會深入討論他的問題。

這里我們只需要知道,如果要default約束被應(yīng)用只需要填充的時候使用選擇列填充的方式,不填充任何內(nèi)容在自動約束所在的列中即可。

唯一約束

唯—約束(UNIQUE)比較簡單,它規(guī)定—張表中指定的一列的值必須不能有重復(fù)值,即這一列每個值都是唯一的。

我們之間案例中的第二個字段就添加了非空約束,我們先看一下表中已有的數(shù)據(jù):

當前表中的name的值是添加了唯一約束的,并且此時沒有重復(fù)的值,那么現(xiàn)在我添加一個重復(fù)的值:

當添加了唯一約束的字段中添加了重復(fù)的值,那么就會報錯,報錯信息是重復(fù)的鍵值,在book2表的name字段上。

那么如果是兩個null值的話,會怎么樣呢?

null并不算做是重復(fù)的值,現(xiàn)在理解比較好理解,就是沒有值也就沒有比較的對象嘛,但是之后我們介紹null的細節(jié)的時候,我們再詳細的展開null到底代表的是什么。

外鍵約束

外鍵(FOREIGN KEY)既能確保數(shù)據(jù)完整性,也能表現(xiàn)表之間的關(guān)系。

比如,現(xiàn)在有用戶表和文章表,給文章表中添加一個指向用戶id 的外鍵,表示這篇文章所屬的用戶id,外鍵將確保這個外鍵指向的記錄是存在的,如果你嘗試刪除一個用戶,而這個用戶還有文章存在于數(shù)據(jù)庫中,那么操作將無法完成并報錯。因為你刪除了該用戶過后,他發(fā)布的文章都沒有所屬用戶了,而這樣的情況是不被允許的。同理,你在創(chuàng)建一篇文章的時候也不能為它指定一個不存在的用戶id。

一個表可以有多個外鍵,每個外鍵必須REFERENCES(參考)另—個表的主鍵,被外鍵約束的列,取值必須在它參考的列中有對應(yīng)值。

外鍵約束是什么呢,就是我現(xiàn)在有一個表,我的表中的某一個列添加了外鍵約束,這個外鍵約束參考了另一個表中的主鍵列,那么我在向添加了外鍵約束的字段中插入值的時候,這個值的取值范圍只能是另一個表中主鍵列已經(jīng)存在的值,否則會插入失敗。類似于ENUM,只能從一個范圍中取值,只不過這個范圍在另一個表上。

現(xiàn)在我創(chuàng)建了兩張表,一張student,一張stu_cord,現(xiàn)在stu_cord表的c_id添加了外鍵約束,在插入數(shù)據(jù)的時候,stu_cord的c_id的值只能插入student表中的id字段已有的值:

我先給student插入一些數(shù)據(jù),然后向stu_cord中插入一些數(shù)據(jù):

現(xiàn)在是一切正常,但是如果我這么操作:

插入失敗了,為什么呢?就是因為當我向c_id列中插入數(shù)據(jù)的時候,c_id列添加了外鍵約束,這個列中插入的數(shù)值要參考student的id字段的值,只能插入id字段中已有的值,現(xiàn)在student表中的數(shù)值是這樣的:

很顯然,我要插入的4并不在他的id中,所以我插入失敗了,這就是外鍵約束的一個體現(xiàn),當你插入的數(shù)值不在我參考的列中,那么你的值無法插入。

http://www.risenshineclean.com/news/54046.html

相關(guān)文章:

  • 濟南企業(yè)建站系統(tǒng)企業(yè)員工培訓(xùn)總結(jié)
  • 電子商務(wù)網(wǎng)站實例建站模板平臺
  • 網(wǎng)站建設(shè)推廣方案網(wǎng)絡(luò)項目推廣平臺
  • 用wex5可以做網(wǎng)站嗎中國培訓(xùn)網(wǎng)的證書含金量
  • 怎樣做社交網(wǎng)站互聯(lián)網(wǎng)廣告推廣好做嗎
  • 可以做軟件的網(wǎng)站有哪些功能成都百度業(yè)務(wù)員電話
  • 網(wǎng)站控制面板網(wǎng)站查詢
  • 哪家公司做網(wǎng)站比較好成都百度seo公司
  • 昆明企業(yè)建網(wǎng)站多少錢萬網(wǎng)域名注冊官網(wǎng)
  • 怎樣建設(shè)與維護自己的平臺網(wǎng)站成都競價托管多少錢
  • 酒店預(yù)定網(wǎng)站建設(shè)方案北京疫情太嚴重了
  • 網(wǎng)站建設(shè)專項檢查上海seo怎么優(yōu)化
  • 怎么用自己的電腦做服務(wù)器發(fā)布網(wǎng)站濟南做seo排名
  • 百度網(wǎng)站提交入口百度怎么發(fā)外鏈
  • 高仿服裝網(wǎng)站建設(shè)東莞關(guān)鍵詞seo優(yōu)化
  • 微信公眾平臺小程序是什么寧波seo網(wǎng)站服務(wù)
  • 北京做網(wǎng)站站長工具麻豆
  • 做室內(nèi)裝修的網(wǎng)站seo排名優(yōu)化培訓(xùn)價格
  • 酷炫網(wǎng)站設(shè)計風(fēng)格北京做網(wǎng)站推廣
  • 網(wǎng)站建設(shè)這個工作怎么樣天津建站網(wǎng)
  • 公司網(wǎng)站建設(shè)方案詳細方案軟文推廣產(chǎn)品
  • 北京網(wǎng)站開發(fā)網(wǎng)站開發(fā)公司seo網(wǎng)站優(yōu)化培訓(xùn)找哪些
  • 通遼做家教的網(wǎng)站seo營銷優(yōu)化
  • 貼吧廣告投放seo前線
  • 武漢網(wǎng)站建設(shè) 網(wǎng)站制作市場營銷的策劃方案
  • 做外包的網(wǎng)站有哪些優(yōu)化大師官方下載
  • 高端定制網(wǎng)站開發(fā)網(wǎng)站模板設(shè)計關(guān)鍵詞搜索愛站網(wǎng)
  • seo 服務(wù)如何優(yōu)化網(wǎng)站
  • 高校后勤網(wǎng)站建設(shè)要求二級域名和一級域名優(yōu)化難度
  • 網(wǎng)站建設(shè)資料準備標準江西seo推廣軟件