1、SQL語句分類
DQL(數據查詢語言)
DML(數據操作語言)、、
DDL(數據定義語言)、drop、alter
DCL(數據控制語言)grant:把權限授予用戶、:把權限從用戶收回
TPL(TCL,事務控制語言):、
2、是怎樣分頁的
用進行分頁
分頁語句的步驟:
a.最內層sql,查詢要分頁的所有數據
b.第二層sql,通過偽列確定顯示數據的上限sql數據庫命名規則,并且給查詢的數據添加偽列的值
c.最外層sql,設置顯示數據的下限
*from
( a.*, r from
(*from表名 where條件 列) a
(頁數-1)*條數
3、和區別
1)和都可以將數據實體刪掉,操作不記錄到日志,同時數據不能恢復
2)是數據定義語言(DDL),是數據操作語言(DML)
3)不能對視圖進行操作,操作不會騰出表空間的內存
4、說說中經常使用到的函數
長度、lower小寫、upper大寫、轉化日期、轉化字符、轉化數字Ltrim去左邊空格、rtrim去右邊空格、截取字符串、增加或減掉月份、
5、主鍵有幾種?
復合型、整數型、字符型
6、怎樣創建一個索引,索引使用的原則,有什么優缺點
index 索引名 on 表名(列名)
原則:
建議索引列建立not null約束
經常與其他表進行連接的表,在連接列上建立索引
優缺點:
創建索引能大大加快檢索速度,加強表與表的連接sql數據庫命名規則,但是創建索引很占用空間
7、使用偽列刪除表中的重復數據中的一條
t where t.rowid!=( max(t1.rowid) from table t1 .name=t1.name)
8、如何只顯示重復數據
* group by id count(*)>1
9、什么是數據庫的映射
就是將數據庫中表與字段對應到模型層類名與屬性的過程
10、如何設計數據庫
首先分析項目,看看項目中有多少實體(矩形),為每個實體添加屬性(橢圓),明確實體之間的關系(菱形),繪制E-R圖,將E-R圖轉換成表格
11、如何實現數據庫的優化
1)調整數據庫結構的設計:需要考慮是否使用分區功能、是否建立索引等
2)調整數據庫的SQL語句
3)調整服務器的內存分配
4)調整硬盤I/O
5)調整操作系統參數
12、關系型數據庫的關系操作有哪些?
選擇(查詢某些行)、投影(查詢某些列)、鏈接(把多張表連接獲取數據)、增加、刪除、修改
13、你知道哪些菲關系型數據庫,與關系型數據庫的區別是?
14、SQL語句與SQL*PLUS命令的區別
1)SQL是關系型數據庫的標準操作語言,而SQL*PLUS是一個客戶端工具,除了執行標準的SQL外,還可以執行工具本身的一些命令。
2)SQL語句不可以縮寫,而SQL*PLUS命令可以縮寫
15、數據庫中如何顯示表的結構
新建命令窗口,輸入desc 表名
16、中數據庫對象的命名規則
1)必須由字母開始,長度在1-30個字符之間
2)包含字母、數字、_、$、#
3)同一個服務器所擁有的對象名不能重復
4)名字不能為 的保留字
5)大小寫不敏感
17、數據庫的三大范式是什么?
1)第一范式:原子件,要求每一列的值不能再拆分了
2)第二范式:一張表只描述一個實體(若列中有冗余數據,則不滿足)
3)第三范式:所有列與主鍵直接相關
18、事務的特性(ACID)是指什么?
1)原子性():事務中的各項操作,要么全做要么全不做,任何一項操作的失敗都會導致整個事務的失敗
2)一致性():事務結束后系統狀態是一樣的
3)隔離性():并發執行的事務彼此無法看到對方的中間狀態
4)持久性():事務完成后,即使發生災難性的故障,通過日志和同步備份可以在故障發生后重建數據
19、MySQL數據庫與數據庫有什么區別
1)應用方面:MySQL是中小型應用的數據庫,一般用于個人項目或中小型網站及論壇。屬于大型數據庫,一般在具有相當規模的企業應用。
2)自動增長的數據類型方面:MySQL有自動增長的數據類型。沒有自動增長的數據類型,需要建立一個自增序列
3)group by用法:MySQL中group by在語句中可以隨意使用,但是在中如果查詢語句中有組函數,那其他列名必須是組函數處理過的或者是group by子句中的列,否則報錯
4)引號方面:MySQL中可以用單引號、雙引號包起字符串,中只可以用單引號包起字符串