:::

MarkDown

``` 3. 回覆結果為: ```sql CREATE TABLE `school_news` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '編號', `news_title` VARCHAR(255) NOT NULL COMMENT '新聞標題', `news_content` TEXT NOT NULL COMMENT '新聞內容', `related_link` VARCHAR(255) COMMENT '相關連結', `publisher` VARCHAR(100) NOT NULL COMMENT '發布者', `school_name` VARCHAR(100) NOT NULL COMMENT '學校名稱', `report_date` DATE NOT NULL COMMENT '報導日期', `upload_type` ENUM('image', 'youtube') NOT NULL COMMENT '上傳種類', `youtube_url` VARCHAR(255) COMMENT 'Youtube影片網址', `media` JSON COMMENT '多檔案JSON資訊', `views` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '點閱數', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ``` 4. 可點擊控制台的Adminer,或直接輸入網址:「[http://localhost/us\_opt2/index.php?username=root](http://localhost/us_opt2/index.php?username=root)」亦可 ![](https://campus-xoops.tn.edu.tw/uploads/tad_book3/image/php009-1.png) 5. 建立` school `資料庫(務必選 `utf8mb4_general_ci`) ![](https://campus-xoops.tn.edu.tw/uploads/tad_book3/image/55/firefox_zF7OtXo5Uv.png) 6. 接著點擊「SQL命令」,將語法貼上,快速建立之![](https://campus-xoops.tn.edu.tw/uploads/tad_book3/image/55/firefox_e4CnTQmum2.png) 7. 最後得到一個資料表:
欄位 類型 註解
id int unsigned *自動遞增* 編號
news\_title varchar(255) 新聞標題
news\_content text 新聞內容
related\_link varchar(255) *NULL* 相關連結
publisher varchar(100) 發布者
school\_name varchar(100) 學校名稱
report\_date date 報導日期
upload\_type enum('image','youtube') 上傳種類
youtube\_url varchar(255) *NULL* Youtube影片網址
media json *NULL* 多檔案JSON資訊
views int unsigned \[0\] 點閱數
8. 此外,我們也可以將語法存為 `mysql.sql` 來備用 ### 三、正確使用欄位類型 選用正確的欄位類型可以: - 節省空間 - 降低開發難度 - 避免錯誤 #### 一、數字
資料型態 資料範圍
tinyint(4) -128至127 unsigned:0至255
smallint(6) -32768至32767 unsigned:0至65535
mediumint(9) -8388608至8388607 unsigned:0至16777215
int(11) -2147683648至2147683647 unsigned:0至4294967295
bigint(20) -9223372036854775808至9223372036854775807 unsigned:0至18446744073709551615
#### 二、浮點數
資料型態 範圍範例(以MySQL>3.23為例)
decimal\[(65\[,30\])\] decimal(4,1)-999.9到9999.9 decimal(5,1)-9999.9到99999.9 decimal(6,1)-99999.9到999999.9 decimal(6,2)-9999.99到 99999.99 decimal(6,3)-999.999到9999.999
float\[(255,30)\] float(4,1)-999.9到999.9 float(5,1)-9999.9到9999.9 float(6,1)-99999.9到99999.9 float(6,2)-9999.99到 9999.99 float(6,3)-999.999到999.999
double\[(255,30)\] double(4,1)-999.9到999.9 double(5,1)-9999.9到9999.9 double(6,1)-99999.9到99999.9 double(6,2)-9999.99到 9999.99 double(6,3)-999.999到999.999
#### 三、日期時間
資料型態 範圍
date 1000-01-01至9999-12-31 西元年可用4或2個數字,使用2個數字時,70到99表示1970到1999; 如果是00到69就是2000到2069,有點容易搞錯,所以年份最好還是寫完整4位數比較沒困擾。
datetime 1000-01-01 00:00:00至9999-12-31 23:59:59
timestamp 1970-01-01 00:00:01 UTC到2038-01-19 03:14:07 UTC 其格式與datetime一樣,但儲存空間只需要一半。
time -838:59:59至 838:59:59 存入「150:30:00」而言就是過了150小時又30分鐘之意。 亦可存入「-6:20:00」,意指「6個小時又20分鐘前」
year\[(4|2)\] 4位數字可以儲存的範圍從1901到2155; 2位數字的範圍從00到99,實際的西元年份是1970到2069,也就是說,當您存入00時,實際代表2000之意; 存入69代表2069;存入70代表1970;存入99代表1999。
#### 四、字串
資料型態 最大長度 實際儲存的空間
char\[(255)\] 255 指定的長度
varchar(65535) 65535 指定的長度加1或2bytes
tinytext 255 指定的長度加1byte
text 65535 指定的長度加2bytes
mediumtext 16772215 指定的長度加3bytes
longtext 4294967295 指定的長度加4bytes
#### 五、列表
資料型態 最大個數 儲存空間
enum(字串值\[,...\]) 65535 1byte(25個以內); 2bytes(256到65535個)
set(字串值\[,...\]) 64 1byte(8個以內); 2bytes(16個以內); 3bytes(24個以內); 4bytes(32個以內); 8bytes(64個以內)
#### 六、二進位
資料型態 最大長度 實際儲存的空間
bit\[(8|64)\] 64 bit的範圍為0到1 bit(8)的範圍為0到255 bit(64)的範圍為0到18446744073709551615
binary\[(255)\] 255 指定的長度
varbinary(65535) 65535 指定的長度加1或2bytes
tinyblob 255 指定的長度加1byte
blob 65535 指定的長度加2bytes
mediumblob 16772215 指定的長度加3bytes
longblob 4294967295 指定的長度加4bytes
:::

書籍目錄

展開 | 闔起

http%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fmarkdown.php%3Ftbdsn%3D2010

計數器

今天: 3957395739573957
昨天: 2259225922592259
總計: 7952755795275579527557952755795275579527557952755