MySQL

1.MySQL表的約束

(1)MySQL中表的約束有哪幾種?

唯一約束:unique

非空約束:not null

主鍵約束:primary key

外鍵約束:foreign key

MySQL中沒有檢查約束(check)

(2)如何查詢表的約束信息?

Select keys from 表名

(3)如何在創(chuàng)建表時(shí)添加主鍵約束,非空約束,唯一約束,檢查約束和外鍵約束,請(qǐng)舉例說明

MySQL中沒有檢查約束

Create table 表a

(

aid int(4) primary key auto_increment, -- auto_increment代表主鍵自增

aname varchar(30) not null, -- 非空

email varchar(50) Unique,? -- 唯一約束

bid? int(5),? -- 添加外鍵引用

Constraint fk_表a_bid foreign key(bid) references 表b(bid) -- 外鍵約束

);

Create table 表b

(

bid int primary key auto_increment,

bname varvhar(30) not null

);

(4)如何修改表實(shí)現(xiàn)約束的添加與刪除

先刪原有的,再添加新的約束

2.MySQL 中的 DML 操作

(1)請(qǐng)描述插入語句的語法,并舉例說明

insert into 表名[(列名1,列名2...)] values(值1,值2...)

(2)MySQL中自動(dòng)增長使用什么關(guān)鍵字,自動(dòng)增長類型有哪些要求?

auto_increment? 類型要求:整型,自增一般對(duì)主鍵使用

(3)創(chuàng)建表時(shí)如何指定默認(rèn)值?插入數(shù)據(jù)時(shí)如何對(duì)默認(rèn)值進(jìn)行處理?

default? 處理時(shí),指定的默認(rèn)值為什么就為什么

(4)請(qǐng)描述更新語句的語法,并舉例說明

Update 表名 set 列名1=值1,列名2=值2... [where子句]

若不添加where子句限制條件,會(huì)修改全表數(shù)據(jù)

(5)請(qǐng)描述刪除語句的語法,并舉例說明

Delete 表名 列名 [where子語句]

若不添加where子句限制條件,會(huì)刪除全表數(shù)據(jù)

(6)DELETE 與 TRUNCATE 區(qū)別

Truncate 效率要比delete高

Delete 刪除數(shù)據(jù)會(huì)寫入日志文件(可恢復(fù))

Truncate截?cái)?直接刪除數(shù)據(jù),不留痕跡

delete與truncate區(qū)別

3.MySQL 中的事務(wù)處理

(1)MySQL在默認(rèn)的情況下事務(wù)是否自動(dòng)提交?如何關(guān)閉 MySQL 的事務(wù)自動(dòng)提交?

MySQL自動(dòng)提交事務(wù)

通過 start transaction語句來開始執(zhí)行事務(wù)

Commit提交? rollback 回滾 來手工確認(rèn)對(duì)事務(wù)的處理

MySQL事務(wù)提交

4.MySQL 查詢數(shù)據(jù)

(1)描述MySQL的列選擇的基本語法

Select 列名 from 表名;

(2)描述MySQL的行選擇的基本語法

Select * from 表名 where子句;

(3)MySQL如何為列起別名?

Select 列1 別名,列2 別名,.... from 表名;

(4)MySQL中如何去除重復(fù)?

Distinct

Select distinct * from 表名 where子句;

(5)MySQL模糊查詢使用什么關(guān)鍵字,常用的通配符有那些?

Like? ? ? %:代表任意長度任意字符, _:代表一位任意字符

查詢姓名第二個(gè)字母是c的人以及編號(hào),薪水,姓名

Select id,name,salary from emp where like name = ‘_c%’;

(6)范圍查找中between...and和in有什么區(qū)別

Between...and =? a>=1 and a<=4

In 是允許在where子句中規(guī)定多個(gè)值

Select * from emp where id in(1,2,3);

(7)MySQL如何做空值判斷?

Is null

Is not null

(8)排序使用什么關(guān)鍵字,默認(rèn)是升序還是降序?

Order by asc/desc;

默認(rèn)為asc:升序

desc:降序

5.MySQL 常用單行函數(shù)

(1)描述常用的日期函數(shù)

獲取當(dāng)前語言環(huán)境的時(shí)間:sysdate()? ? now()

(2)描述常用的轉(zhuǎn)換函數(shù)

將日期轉(zhuǎn)為字符串:Dateformat

date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s')

將字符串轉(zhuǎn)為日期:str_to_date

str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-08-09

大寫Y代表四位年份小寫代表兩位

日期含義

Lower:轉(zhuǎn)小寫

Upper:轉(zhuǎn)小寫

6. MySQL 多表查詢

(3)描述什么是等值連接,并舉例說明

Where子句用等號(hào)判斷的查詢語句

(4)描述什么是非等值連接,并舉例說明

Where子句不是等值判斷的查詢語句

(5)描述什么是自連接,并舉例說明

表自身連接自身

(6)描述什么是內(nèi)連接,并舉例說明

Inner

連接兩個(gè)表中的記錄,返回關(guān)聯(lián)字段相符的記錄,就是兩個(gè)表的交集部分

(7)外連接常見有哪些幾種?

MySQL:左外(left join) 右外(right join) 全外(union [all])

7.MySQL 聚合函數(shù)

(8)MySQL聚合函數(shù)有哪幾種?分別描述其功能。

寫常用的:

Sum(sal):最高工資

Min(sal):最低工資

Avg(sal):平均工資

count(*):計(jì)數(shù)(計(jì)算所有數(shù)據(jù)條數(shù))

8.MySQL 數(shù)據(jù)分組

(9)MySQL中如何創(chuàng)建數(shù)據(jù)分組?

Group by

(10)MySQL中如何約束分組結(jié)果?

Group by ... having子句

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 什么是數(shù)據(jù)庫? 數(shù)據(jù)庫是存儲(chǔ)數(shù)據(jù)的集合的單獨(dú)的應(yīng)用程序。每個(gè)數(shù)據(jù)庫具有一個(gè)或多個(gè)不同的API,用于創(chuàng)建,訪問,管理...
    chen_000閱讀 4,144評(píng)論 0 19
  • 035天 行百里者半九十,想要在一個(gè)行業(yè)里成為頂尖人才,一定滿足一萬小時(shí)定律,要想學(xué)好JAVA,需要持之以恒不斷地...
    人間草木為伴閱讀 157評(píng)論 0 0
  • 1. SQL 簡介 SQL 的目標(biāo) 理想情況下,數(shù)據(jù)庫語言應(yīng)允許用戶: 建立數(shù)據(jù)庫和關(guān)系結(jié)構(gòu) 完成基本數(shù)據(jù)管理任務(wù)...
    板藍(lán)根plank閱讀 2,518評(píng)論 0 11
  • 1. 了解SQL 1.1 數(shù)據(jù)庫基礎(chǔ) ? 學(xué)習(xí)到目前這個(gè)階段,我們就需要以某種方式與數(shù)據(jù)庫打交道。在深入學(xué)習(xí)MyS...
    鋒享前端閱讀 1,327評(píng)論 0 1
  • 復(fù)盤筆記 素白 [打卡第 175 天——多維度復(fù)盤筆記 把寫作鍛煉成和吃飯一樣容易—素白 起床: 6:30 入睡:...
    素白說閱讀 138評(píng)論 0 0

友情鏈接更多精彩內(nèi)容