文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>MYSQL 教程 §4, 创建数据库,表,素引

MYSQL 教程 §4, 创建数据库,表,素引

时间:2008-08-08  来源:wstczyl

§4, 创建数据库,表,素引

本章使用的数据库如下:

employee(employeeID, name, job, departmentID )

 

department(departmentID, name)

 

employeeSkills(employeeID, skill)

 

client(clientID, name, address, contactPerson, contactNumber)

 

assignment(clientID, employeeID , workdate, hours)

§4.1  创建表

Mysql不区分大小写,所有数据库系统中对SQL的关键字不区分大小写。但是你使用的标识符可能是区分大小写。因为mysql的每个数据库在系统中有个目录,每个表有一个文件。Column names, indexes, and aliases是不区分大小写的。

       标识符一般用于标识an alias, a database, a table, a column, or an index。不能使用quote characters, ACSII(0) and ASCII(255).

实例:

drop database if exists employee;
create database employee;
 
use employee;
 
create table department
(
  departmentID int not null auto_increment primary key,
  name varchar(30)
) type=InnoDB;
 
create table employee
(
  employeeID int not null auto_increment primary key,
  name varchar(80),
  job varchar(30),
  departmentID int not null references department(departmentID)
) type=InnoDB;
 
create table employeeSkills
(
  employeeID int not null references employee(employeeID),
  skill varchar(15) not null,
  primary key (employeeID, skill)
) type=InnoDB;
 
create table client
(
  clientID int not null auto_increment primary key,
  name varchar(40),
  address varchar(100),
  contactPerson varchar(80),
  contactNumber char(12)
) type=InnoDB;
 
create table assignment
(
  clientID int not null references client(clientID),
  employeeID int not null references employee(employeeID),
  workdate date not null,
  hours float,
  primary key (clientID, employeeID, workdate)
) type=InnoDB; 

 

Varchar使用的是动态存储,

默认使用的是MyISAM表类型,单个列作为主键可以如下表示:

employeeID int not null auto_increment primary key,

MyISAM 或许要5.1版本才支持外键.

 

Create 的语法参见教材

 

§4.2  数据类型

具体请参考教材

有3种基本类型:数字类型,字符串类型,时间日期类型.

数字类型

TINYINT    8位   

SMALLINT   16

MEDIUMINT  32

BIGINT     64

 

FLOAT

DOUBLE

 

字符串类型

CHAR VARCHAR

BLOB用二进制形式存储,区分大小写.

TINYTEXT or TINYBLOB   8位

TEXT or BLOB              16

MEDIUMTEXT or MEDUIMBLOB  24

LONGTEXT or LONGBLOB      32

ENUM

SET

时间日期类型

DATE

TIME

DATETIME

TIMESTAMP

YEAR

 

§4.3  创建索引,删除,修改等

*创建索引

PRIMARY KEY, KEY, UNIQUE, or INDEX 自动带有索引

创建索引:create index name on employee(name);选项有UNIQUE FULLTEXT 等.针对VARCHAR可以只提取前面的几个字母.比如:create index part_name on employee(name(5)); 文本索引往往没有数字的速度快.这样可以提高性能。

 

*删除操作.

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name,...]
drop index part_name on employee;
drop database employee;
drop database if exists employee;
drop table assignment;
TEMPORARY 用于删除临时表
 
 

*修改表结构

alter table employee
add index name (name);

详细说明参考教材

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载