下面以MySQL5.7.8為例:
一、使用SQL語句創建
create database stuDB --stuDB是數據庫的名稱
on primary -- 默認就屬于primary文件組,可省略
(
/*--數據文件的具體描述--*/
name='stuDB_data', -- 主數據文件的邏輯名稱
filename='D:\stuDB_data.mdf', -- 主數據文件的物理路徑和名稱
size=5mb, --主數據文件的初始大小
maxsize=100mb, -- 主數據文件增長的最大值
filegrowth=15%--主數據文件的增長率
)
log on
(
/*--日志文件的具體描述,各參數含義同上--*/
name='stuDB_log',
filename='D:\stuDB_log.ldf',
size=2mb,
filegrowth=1mb
)
-----2.創建數據表
use StuDB --使用某個數據庫(在某個數據庫下建表)
go
if exists(select * from sysobjects where name='stuMarks')--查詢數據庫是否已存在此表
drop table stuMarks--如果存在該表則刪除,不存在不執行此句
create table stuMarks --stuMarks是表的名稱
(
ExamNo int identity(1,1) primary key,--列名 數據類型 約束
stuNo char(6) not null,--列名 數據類型 是否允許插入Null值
writtenExam int not null,
LabExam int not null
)
go
-- 其中,列屬性"identity(起始值,遞增量)" 表示"ExamNo"列為自動編號, 也稱為標識列alter table 表名
add constraint 約束名 約束類型 具體的約束說明
alter table 表名
drop constraint 約束名
二、java編寫創建數據庫和表的程序
import java.sql.*;
public class Test
{
public static void main(String[] args) throws Exception
{
Class.forName("com.mysql.jdbc.Driver");
//一開始必須填一個已經存在的數據庫
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8";
Connection conn = DriverManager.getConnection(url, "root", "123456");
Statement stat = conn.createStatement();
//創建數據庫hello
stat.executeUpdate("create database hello");
//打開創建的數據庫
stat.close();
conn.close();
url = "jdbc:mysql://localhost:3306/hello?useUnicode=true&characterEncoding=utf-8";
conn = DriverManager.getConnection(url, "root", "123456");
stat = conn.createStatement();
//創建表test
stat.executeUpdate("create table test(id int, name varchar(80))");
//添加數據
stat.executeUpdate("insert into test values(1, '張三')");
stat.executeUpdate("insert into test values(2, '李四')");
//查詢數據
ResultSet result = stat.executeQuery("select * from test");
while (result.next())
{
System.out.println(result.getInt("id") + " " + result.getString("name"));
}
//關閉數據庫
result.close();
stat.close();
conn.close();
}
}
三、用php代碼建立mysql數據庫
$rs = mysql_select_db($dbname,$conn);
if(!$rs){
$rs = mysql_query("CREATE DATABASE `$dbname`; ",$conn);
if(!$rs){
$errstr = GetBackAlert("數據庫 {$dbname} 不存在,也沒權限創建新的數據庫!");
echo $errstr;
exit();
}else{
$rs = mysql_select_db($dbname,$conn);
if(!$rs){
$errstr = GetBackAlert("你對數據庫 {$dbname} 沒權限!");
echo $errstr;
exit();
}else{
$ctStr = 'CREATE TABLE `wish` (
`id` int(11) NOT NULL auto_increment,
`pname` varchar(30) default NULL,
`pqq` varchar(10) default NULL,
`plocal` varchar(50) default NULL,
`pemail` varchar(30) default NULL,
`context` tinytext,
`addDate` datetime default NULL,
`biz1` varchar(250) default NULL,
`biz2` varchar(250) default NULL,
`biz3` varchar(250) default NULL,
`biz4` varchar(250) default NULL,
`biz5` varchar(250) default NULL,
`biz6` int(11) default NULL,
`biz7` int(11) default NULL,
`biz8` int(11) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;';
mysql_query($ctStr,$conn);
}
}