Ki jan yo kreye tab done nan baz done MySQL? Kreye lòd tab done / deklarasyon / sentaks nan MySQL

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);
参数描述
koneksyonObligatwa.Espesifye koneksyon MySQL pou itilize.
queryObligatwa, espesifye fisèl rechèch la.
rezilta mòd Si ou vle.yon konstan.Ka nenpòt nan valè sa yo:

  • MYSQLI_USE_RESULT (itilize sa a si ou bezwen rekipere anpil done)
  • MYSQLI_STORE_RESULT (default)

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.

kòmantè

您的邮箱地址不会被公开。必填项已用*标注

Ki gen tèt