詳解在MySQL中創(chuàng)建表的教程
創(chuàng)建表的命令要求:
- 表的名稱(chēng)
- 表字段名稱(chēng)
- 每個(gè)字段的定義
語(yǔ)法:
下面是通用的SQL語(yǔ)法來(lái)創(chuàng)建一個(gè)MySQL表:
CREATE TABLE table_name (column_name column_type);
現(xiàn)在,我們將創(chuàng)建下面的教程數(shù)據(jù)庫(kù)表中。
tutorials_tbl( tutorial_id INT NOT NULL AUTO_INCREMENT, tutorial_title VARCHAR(100) NOT NULL, tutorial_author VARCHAR(40) NOT NULL, submission_date DATE, PRIMARY KEY ( tutorial_id ) );
這里幾個(gè)項(xiàng)目需要說(shuō)明:
- 使用字段屬性NOT NULL,因?yàn)槲覀儾幌M俗侄问荖ULL。因此如果用戶(hù)試圖創(chuàng)建一個(gè)與NULL值的記錄,那么MySQL將產(chǎn)生一個(gè)錯(cuò)誤。
- 字段屬性AUTO_INCREMENT告訴MySQL的繼續(xù)遞增,下一個(gè)可用編號(hào)的id字段。
- 關(guān)鍵字PRIMARY KEY用于定義一個(gè)列作為主鍵。可以使用以逗號(hào)分隔的多個(gè)列定義一個(gè)主鍵。
從命令提示符創(chuàng)建表:
這是很容易的,從mysql>提示符下創(chuàng)建一個(gè)MySQL表。您將使用SQL命令 CREATE TABLE 創(chuàng)建一個(gè)表。
例子:
下面是一個(gè)例子,它創(chuàng)建 tutorials_tbl:
root@host# mysql -u root -p Enter password:******* mysql> use TUTORIALS; Database changed mysql> CREATE TABLE tutorials_tbl( -> tutorial_id INT NOT NULL AUTO_INCREMENT, -> tutorial_title VARCHAR(100) NOT NULL, -> tutorial_author VARCHAR(40) NOT NULL, -> submission_date DATE, -> PRIMARY KEY ( tutorial_id ) -> ); Query OK, 0 rows affected (0.16 sec) mysql>
注: MySQL終止命令,直到你給一個(gè)分號(hào)(;)結(jié)束時(shí)的SQL命令。
使用PHP腳本創(chuàng)建MySQL表:
要?jiǎng)?chuàng)建新的表中的任何現(xiàn)有的數(shù)據(jù)庫(kù),需要使用PHP函數(shù)mysql_query()。將通過(guò)它的第二個(gè)參數(shù),正確的SQL命令來(lái)創(chuàng)建一個(gè)表。
例子:
下面是一個(gè)例子,使用PHP腳本來(lái)創(chuàng)建一個(gè)表:
<html> <head> <title>Creating MySQL Tables - by www.jb51.com</title> </head> <body> <?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully<br />'; $sql = "CREATE TABLE tutorials_tbl( ". "tutorial_id INT NOT NULL AUTO_INCREMENT, ". "tutorial_title VARCHAR(100) NOT NULL, ". "tutorial_author VARCHAR(40) NOT NULL, ". "submission_date DATE, ". "PRIMARY KEY ( tutorial_id )); "; mysql_select_db( 'TUTORIALS' ); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not create table: ' . mysql_error()); } echo "Table created successfully\n"; mysql_close($conn); ?> </body> </html>
相關(guān)文章
MySQL?5.7中NULL與‘?‘空字符值的多維度分析(詳解)
在數(shù)據(jù)庫(kù)設(shè)計(jì)和開(kāi)發(fā)過(guò)程中,正確理解和使用NULL值對(duì)于確保數(shù)據(jù)質(zhì)量和查詢(xún)效率至關(guān)重要,本文將從多個(gè)維度對(duì)NULL值進(jìn)行深入分析,并與空字符串''以及其他控制進(jìn)行對(duì)比,旨在為讀者提供一個(gè)全面而清晰的理解,感興趣的朋友跟隨小編一起看看吧2024-12-12MySQL性能優(yōu)化 出題業(yè)務(wù)SQL優(yōu)化
根據(jù)用戶(hù)的作答結(jié)果出練習(xí)卷,題目的優(yōu)先級(jí)為:未做過(guò)的題目>只做錯(cuò)的題目>做錯(cuò)又做對(duì)的題目>只做對(duì)的題目。2010-08-08MYSQL將表名稱(chēng)修改成大寫(xiě)的存儲(chǔ)過(guò)程
這篇文章主要為大家詳細(xì)介紹了MYSQL將表名稱(chēng)修改成大寫(xiě)的存儲(chǔ)過(guò)程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08mysql error 1071: 創(chuàng)建唯一索引時(shí)字段長(zhǎng)度限制的問(wèn)題
這篇文章主要介紹了mysql error 1071: 創(chuàng)建唯一索引時(shí)字段長(zhǎng)度限制的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09深入研究mysql中的varchar和limit(容易被忽略的知識(shí))
這篇文章主要介紹了深入研究mysql中的varchar和limit(容易被忽略的知識(shí)),本文探究了varchar(5)可以存儲(chǔ)多少個(gè)漢字、多少個(gè)字母數(shù)字和mysql中的limit你真的會(huì)用嗎兩個(gè)知識(shí)點(diǎn),需要的朋友可以參考下2015-03-03mysql 終結(jié)點(diǎn)映射器中沒(méi)有更多的終結(jié)點(diǎn)可用的解決方法
在安裝MySQL的時(shí)候遇到“終結(jié)點(diǎn)映射器中沒(méi)有更多的終結(jié)點(diǎn)可用”提示2009-03-03mysql中g(shù)eneral_log日志的實(shí)現(xiàn)
MySQL的general_log是一個(gè)非常有用的工具,它可以記錄所有的SQL語(yǔ)句,包括查詢(xún)、DML、DDL、DCL語(yǔ)句,以及連接和斷開(kāi)數(shù)據(jù)庫(kù)的語(yǔ)句,下面就來(lái)具體介紹一下,感興趣的可以了解一下2024-11-11MySQL5.7中 performance和sys schema中的監(jiān)控參數(shù)解釋(推薦)
在MySQL5.7中,performance schema有很大改進(jìn),包括引入大量新加入的監(jiān)控項(xiàng)、降低占用空間和負(fù)載,以及通過(guò)新的sys schema機(jī)制顯著提升易用性。下面通過(guò)本文給大家介紹 MySQL5.7中 performance和sys schema中的監(jiān)控參數(shù)解釋,需要的朋友可以參考下2017-08-08