8.24(週六):mysql_2_約束和多表查詢
約束型別:建立表時,在對應列的最後加入關鍵字即可
資料型別:
數值型別 型別
大小範圍(有符號)
範圍(無符號)
用途tinyint
1 位元組
(-128,127)
(0,255)
小整數值
smallint
2 位元組
(-32 768,32 767)
(0,65 535)
大整數值
mediumint
3 位元組
(-8 388 608,8 388 607)
(0,16 777 215)
大整數值
int或integer4 位元組
(-2 147 483 648,2 147 483 647)
(0,4 294 967 295)
大整數值
bigint
8 位元組
(-9 233 372 036 854 775 808,9 223 372 036 854 775 807)
(0,18 446 744 073 709 551 615)
極大整數值
float
4 位元組
檢視幫助文件
檢視幫助文件
單精度浮點數值
double
8 位元組
檢視幫助文件
檢視幫助文件
雙精度浮點數值
double(m,d)8個位元組,m表示長度,d表示小數字數
同上,受m和d的約束 duble(5,2) -999.99-999.99
同上,受m和d的約束
雙精度浮點數值
decimal(m,d)對decimal(m,d) ,如果m>d,為m+2否則為d+2
依賴於m和d的值,m最大值為65
依賴於m和d的值,m最大值為65
小數值日期型別:
表示時間值的日期和時間型別為datetime、date、timestamp、time和year。
每個時間型別有乙個有效值範圍和乙個"零"值,當指定不合法的mysql不能表示的值時使用"零"值。
timestamp型別有專有的自動更新特性
型別大小(位元組)
範圍格式
用途date3
1000-01-01/9999-12-31
yyyy-mm-dd
日期值time
3『-838:59:59』/『838:59:59』
hh:mm:ss
時間值或持續時間
year
11901/2155
yyyy
年份值datetime8
1000-01-01 00:00:00/9999-12-31 23:59:59
yyyy-mm-dd hh:mm:ss
混合日期和時間值
timestamp
41970-01-01 00:00:00/2038 結束時間是第2147483647秒,北京時間2038-1-19 11:14:07,格林尼治時間 2023年1月19日 凌晨 03:14:07
yyyymmdd hhmmss
混合日期和時間值,時間戳
字串型別:
字串型別指char、varchar、binary、varbinary、blob、text、enum
型別大小
用途char0-255字元
定長字串 char(10) 10個字元
varchar0-65535 位元組
變長字串 varchar(10) 10個字元
tinyblob
0-255位元組
不超過 255 個字元的二進位制字串
tinytext
0-255位元組
短文本字串
blob(binary large object)
0-65 535位元組
二進位制形式的長文字資料
text0-65 535位元組
長文字資料
mediumblob
0-16 777 215位元組
二進位制形式的中等長度文字資料
mediumtext
0-16 777 215位元組
中等長度文字資料
longblob
0-4 294 967 295位元組
二進位制形式的極大文字資料
longtext
0-4 294 967 295位元組
極大文字資料
char和varchar型別類似,但它們儲存和檢索的方式不同。它們的最大長度和是否尾部空格被保留等方面也不同。在儲存或檢索過程中不進行大小寫轉換。
blob是乙個二進位製大物件,可以容納可變數量的資料。有4種blob型別:tinyblob、blob、mediumblob和longblob。它們只是可容納值的最大長度不同。
有4種text型別:tinytext、text、mediumtext和longtext。
合併結果集;union 、 union all
連線查詢
(1)內連線 [inner] join on ,可都省略
(2)外連線 outer join on
a.左外連線 left [outer] join
b.右外連線 right [outer] join
外連線,確保其中乙個表中的資料無論是不是空值都一定都存在(eg:左外連線,左表中的資料一定都存在)
子查詢:即巢狀查詢。
1.建立使用者:
@localhost可省略,表示所有ip都可以通過zhangsan登陸訪問;
@localhost也可以改寫成指定ip(eg:10.9.21.146),使其只能通過指定ip登陸訪問
create user `zhangsan` identified by '123';
create user `zhangsan`@`localhost` identified by '123';
2.授權:
grant all on school.* to `zhangsan`;
3.撤銷許可權:
revoke all on school.* from `zhangsan`;
4.刪除使用者:
drop user `zhangsan`;
Lucene二階段提交
indexwirter繼承了twophasecommit介面,實現三個方法 preparecommit,commit與rollback 二階段提交只是一種選擇,在通常情況下,只需要定時呼叫commit 方法做hardcommit即可.如果有分布式需求做版本控制等,可能會需要二階段提交 lucene自...
第二階段小結
資料結構基本概念 資料 資料即資訊的載體,是能夠輸入到計算機中並且能被計算機識別,儲存和處理的符號總稱 資料元素 資料元素是資料的基本單位,又稱之為記錄。一般,資料元素由若干基本項 字段,域,屬性 組成。資料結構 資料結構指的是資料元素及資料元素之間的相互關係,或組織資料的形式 資料之間的結構關係 ...
第二階段小結
先是pta上的作業 這題要求我們熟練的掌握類之間的繼承與多型的使用,在類與類之間傳遞資訊時不能弄混,要弄清楚單一職責原則。這一題主要考察繼承與多型,泛型容器的應用。接下來是學習通上的課後作業 第乙個是單向鍊錶 單向鍊錶由乙個個的節點組成,這些節點都帶有下乙個節點的引用,最後乙個節點指向null,這樣...