下面以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); } }
回答所涉及的環境:聯想天逸510S、MySQL5.7.8、Windows 10。
下面以MySQL5.7.8為例:
一、使用SQL語句創建
二、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); } }回答所涉及的環境:聯想天逸510S、MySQL5.7.8、Windows 10。