Anyè Atik
Kijan pou kreye yon tab nan yon baz done MySQL ? Kòmand/deklarasyon/sentaks MySQL pou kreye yon tab.
MySQL kreye tab done
Kreye yon tab done MySQL mande pou enfòmasyon sa yo:
- Non tab la
- non jaden tab la
- defini chak jaden tab la
gramè
Sa ki anba la a se sentaks jeneral SQL pou kreye tab done MySQL:
CREATE TABLE table_name (column_name column_type);
Nan egzanp sa a nou pral kreye tab done chenweiliang_tbl nan baz done chenweiliang:
CREATE TABLE IF NOT EXISTS `chenweiliang_tbl`( `chenweiliang_id` INT UNSIGNED AUTO_INCREMENT, `chenweiliang_title` VARCHAR(100) NOT NULL, `chenweiliang_author` VARCHAR(40) NOT NULL, `submission_date` DATE, PRIMARY KEY ( `chenweiliang_id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Egzanp analiz:
- Si ou pa vle jaden an dwe nil Pwopriyete yo nan jaden yo ka mete kòm PA NIL, lè opere baz done a, si done yo antre nan jaden sa a senil , yo pral rapòte yon erè.
- AUTO_INCREMENT defini kòm yon atribi oto-enkreman, jeneralman yo itilize pou kle prensipal yo, epi valè a pral otomatikman ogmante pa 1.
- Mo kle PRIMARY KEY la itilize pou defini yon kolòn kòm kle prensipal la.Ou ka itilize plizyè kolòn pou defini kle prensipal la, separe pa vigil.
- ENGINE mete motè depo a, ak CHARSET mete kodaj la.
Kreye tab nan èd memwa lòd
Ou ka fasilman kreye tab MySQL lè w sèvi ak fenèt kòmand mysql> la. Ou ka itilize deklarasyon SQL CREATE TABLE la pou kreye tab.
Enstans
Sa ki anba la a se yon egzanp pou kreye yon tab done chenweiliang_tbl:
root@host# mysql -u root -p Enter password:******* mysql> use chenweiliang; Database changed mysql> CREATE TABLE chenweiliang_tbl( -> chenweiliang_id INT NOT NULL AUTO_INCREMENT, -> chenweiliang_title VARCHAR(100) NOT NULL, -> chenweiliang_author VARCHAR(40) NOT NULL, -> submission_date DATE, -> PRIMARY KEY ( chenweiliang_id ) -> )ENGINE=InnoDB DEFAULT CHARSET=utf8; Query OK, 0 rows affected (0.16 sec) mysql>
Nòt: Tèminasyon kòmand MySQL la se yon pwen ak virgil (;).
Kreye tab done lè l sèvi avèk PHP script
Ou ka itilize fonksyon mysqli_query() PHP a pou kreye yon tablo nan yon baz done ki deja egziste.
Fonksyon an gen de paramèt epi li retounen VRE si ekzekisyon an reyisi, otreman li retounen FALSE.
gramè
mysqli_query(connection,query,resultmode);
| 参数 | 描述 |
|---|---|
| koneksyon | Obligatwa.Espesifye koneksyon MySQL pou itilize. |
| query | Obligatwa, espesifye fisèl rechèch la. |
| rezilta mòd | Si ou vle.yon konstan.Ka nenpòt nan valè sa yo:
|
Enstans
Egzanp sa a sèvi ak yon script PHP pou kreye yon tab done:
Kreye tab done
<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('连接失败: ' . mysqli_error($conn));
}
echo '连接成功<br />';
$sql = "CREATE TABLE chenweiliang_tbl( ".
"chenweiliang_id INT NOT NULL AUTO_INCREMENT, ".
"chenweiliang_title VARCHAR(100) NOT NULL, ".
"chenweiliang_author VARCHAR(40) NOT NULL, ".
"submission_date DATE, ".
"PRIMARY KEY ( chenweiliang_id ))ENGINE=InnoDB DEFAULT CHARSET=utf8; ";
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('数据表创建失败: ' . mysqli_error($conn));
}
echo "数据表创建成功\n";
mysqli_close($conn);
?>Apre ekzekisyon siksè, ou ka wè estrikti tab la atravè liy lòd la.
Espere ke atik "Kijan pou kreye yon tablo done nan yon baz done MySQL? Kòmand/Deklarasyon/Sentaks pou kreye yon tablo done nan MySQL" ki pataje sou blog Chen Weiliang la ( https://www.chenweiliang.com/ ) ap itil ou.
Pa ezite pataje lyen atik sa a: https://www.chenweiliang.com/cwl-457.html
