力扣資料庫題目總結
阿新 • • 發佈:2021-07-21
目錄
資料庫題目小總結
-
建立資料表
CREATE TABLE Scores ( id INT(10) PRIMARY KEY auto_increment, // 設定主鍵以及自動增長 score float(10,2) //設定保留兩位小數 )
2.插入資料
插入資料可以使用 insert 和 load data local ,這次我們使用 load data local
- 建立一個文字檔案,按表建立的列順序給出資料,並且以 table 鍵換行
- 空值以 \N 表達
- linux 中文字檔案以 \r 為結束符, 而 windows 中以 \r\n 為結束標誌
- 匯入文字檔案命令如下
匯入資料命令
語法
load data[local] infile file_name into table table_name [option];
-
linux 中
LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;
-
windows 中
LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet LINES TERMINATED BY '\r\n';
這次我們使用的是 ,值得注意的是,路徑不能有中文,且檔案路徑使用斜槓,使用反斜槓的話則需要使用兩個
LOAD DATA LOCAL INFILE 'F:/datasource/test.txt' INTO TABLE scores LINES TERMINATED BY '\r\n';
可選的選項有
匯出資料命令
語法
mysqlimport -u root -pPassword[--local] dbname file_name[option]
示例:
mysqlimport -u root -proot company c:\t_dept.txt
"--fields-terminated-by=、"
"--fields-optionally-enclosed-by=""
"--lines-terminated-by=\r\n"
編寫一個 SQL 查詢來實現分數排名。
如果兩個分數相同,則兩個分數排名(Rank)相同。請注意,平分後的下一個名次應該是下一個連續的整數值。換句話說,名次之間不應該有“間隔”。
+----+-------+
| Id | Score |
+----+-------+
| 1 | 3.50 |
| 2 | 3.65 |
| 3 | 4.00 |
| 4 | 3.85 |
| 5 | 4.00 |
| 6 | 3.65 |
+----+-------+
例如,根據上述給定的 Scores 表,你的查詢應該返回(按分數從高到低排列):
+-------+------+
| Score | Rank |
+-------+------+
| 4.00 | 1 |
| 4.00 | 1 |
| 3.85 | 2 |
| 3.65 | 3 |
| 3.65 | 3 |
| 3.50 | 4 |
+-------+------+