Criar tabelas MySQL
Para começar, o comando de criação de tabela requer os seguintes detalhes -
- Nome da mesa
- Nome dos campos
- Definições para cada campo
Sintaxe
Aqui está uma sintaxe SQL genérica para criar uma tabela MySQL -
CREATE TABLE table_name (column_name column_type);
Agora, vamos criar a seguinte tabela no TUTORIALS base de dados.
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 )
);
Aqui, alguns itens precisam de explicação -
Atributo de campo NOT NULLestá sendo usado porque não queremos que este campo seja NULL. Portanto, se um usuário tentar criar um registro com um valor NULL, o MySQL gerará um erro.
Atributo de campo AUTO_INCREMENT diz ao MySQL para prosseguir e adicionar o próximo número disponível ao campo id.
Palavra-chave PRIMARY KEYé usado para definir uma coluna como uma chave primária. Você pode usar várias colunas separadas por uma vírgula para definir uma chave primária.
Criação de tabelas a partir do prompt de comando
É fácil criar uma tabela MySQL a partir do prompt mysql>. Você usará o comando SQLCREATE TABLE para criar uma mesa.
Exemplo
Aqui está um exemplo, que irá criar 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>
NOTE - O MySQL não encerra um comando até que você forneça um ponto e vírgula (;) no final do comando SQL.
Criação de tabelas usando script PHP
Para criar uma nova tabela em qualquer banco de dados existente, você precisará usar a função PHP mysql_query(). Você passará seu segundo argumento com um comando SQL apropriado para criar uma tabela.
Exemplo
O programa a seguir é um exemplo para criar uma tabela usando script PHP -
<html>
<head>
<title>Creating MySQL Tables</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>