PHP opretter MySQL-database
- Forrige side MySQL Connect
- Næste side MySQL Insert
Databasen indeholder en eller flere tabeller.
Opret database
CREATE DATABASE-sætningen bruges til at oprette en database i MySQL.
Syntaks
CREATE DATABASE database_name
For at PHP kan udføre de ovennævnte sætninger, skal vi bruge mysql_query() -funktionen. Denne funktion bruges til at sende forespørgsler eller kommandoer til en MySQL-forbindelse.
Eksempel
I det følgende eksempel opretter vi en database med navnet "my_db":
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Kunne ikke forbinde: ' . mysql_error()); } if (mysql_query("CREATE DATABASE my_db",$con)) { echo "Database created"; } else { echo "Error creating database: " . mysql_error(); } mysql_close($con); ?>
Opret tabel
CREATE TABLE bruges til at oprette database tabeller i MySQL.
Syntaks
CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, column_name3 data_type, ....... )
For at udføre denne kommando, skal jeg tilføje CREATE TABLE-sætningen til mysql_query() -funktionen.
Eksempel
Følgende eksempel viser, hvordan man opretter en tabel med navnet "Persons", som har tre kolonner. Kolonnenavne er "FirstName", "LastName" og "Age":
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Kunne ikke forbinde: ' . mysql_error()); } // Opret database if (mysql_query("CREATE DATABASE my_db",$con)) { echo "Database created"; } else { echo "Error creating database: " . mysql_error(); } // Create table in my_db database mysql_select_db("my_db", $con); $sql = "CREATE TABLE Persons ( Fornavn varchar(15), Efternavn varchar(15), Alder int )"; mysql_query($sql,$con); mysql_close($con); ?>
重要事项:在创建表之前,必须首先选择数据库。通过 mysql_select_db() 函数选取数据库。
注释:当您创建 varchar 类型的数据库字段时,必须规定该字段的最大长度,例如:varchar(15)。
MySQL 数据类型
下面的可使用的各种 MySQL 数据类型:
数值类型 | Beskrivelse |
---|---|
|
仅支持整数。在 size 参数中规定数字的最大值。 |
|
支持带有小数的数字。 在 size 参数中规定数字的最大值。在 d 参数中规定小数点右侧的数字的最大值。 |
文本数据类型 | Beskrivelse |
---|---|
char(size) |
支持固定长度的字符串。(可包含字母、数字以及特殊符号)。 在 size 参数中规定固定长度。 |
varchar(size) |
支持可变长度的字符串。(可包含字母、数字以及特殊符号)。 在 size 参数中规定最大长度。 |
tinytext | 支持可变长度的字符串,最大长度是 255 个字符。 |
|
支持可变长度的字符串,最大长度是 65535 个字符。 |
|
支持可变长度的字符串,最大长度是 16777215 个字符。 |
|
支持可变长度的字符串,最大长度是 4294967295 个字符。 |
日期数据类型 | Beskrivelse |
---|---|
|
Understøtter datoer eller tid |
Diverse dataTyper | Beskrivelse |
---|---|
enum(value1,value2,ect) | ENUM er en forkortelse for ENUMERATED liste. Op til 65535 værdier kan placeres i parentes. |
set | SET er ligner ENUM. Men SET kan have op til 64 listeemner og kan gemme mere end én valgmulighed |
Hovednøgle og auto-increment felt
Hvert tabel skal have et hovednøglefelt.
Hovednøglen bruges til at identificere rækker i tabellen unikt. Hver hovednøgleværdi skal være unik i tabellen. Derudover kan hovednøglefeltet ikke være tomt, da database-motoren har brug for en værdi til at定位 records.
Hovednøglefelt skal altid indeholde en indeks. Der er ingen undtagelser til denne regel. Du skal oprette en indeks for hovednøglefeltet, så database-motoren kan hurtigt finde rækker, der matcher den givne nøgleværdi.
Følgende eksempel sætter personID-feltet til at være hovednøglefelt. Hovednøglefelt er normalt ID-numre og bruger normalt AUTO_INCREMENT for at indstille. AUTO_INCREMENT vil øge værdien af dette felt med én for hver ny record, der tilføjes. For at sikre, at hovednøglefeltet ikke er tomt, skal vi tilføje NOT NULL-indstillingen til dette felt.
Eksempel
$sql = "CREATE TABLE Persons ( personID int NOT NULL AUTO_INCREMENT, PRIMARY KEY(personID), Fornavn varchar(15), Efternavn varchar(15), Alder int )"; mysql_query($sql,$con);
- Forrige side MySQL Connect
- Næste side MySQL Insert