topical media & game development
basic-mysql-05-ch05-examples.sql / sql
/* Chapter 5 - Examples */
CREATE TABLE Inventory
(
ProductID SMALLINT(4) UNSIGNED ZEROFILL,
Quantity INT UNSIGNED
);
CREATE TABLE Catalog
(
ProductID SMALLINT,
Price DECIMAL(7,2),
Weight FLOAT(8,4)
);
CREATE TABLE Catalog
(
ProductID SMALLINT,
Description VARCHAR(40),
Category CHAR(3),
Price DECIMAL(7,2)
);
CREATE TABLE Inventory
(
ProductID SMALLINT UNSIGNED,
Name VARCHAR(40),
Photo BLOB,
Quantity INT UNSIGNED
);
CREATE TABLE Catalog
(
ProductID SMALLINT UNSIGNED,
Name VARCHAR(40),
DescriptionDoc TEXT CHARACTER SET latin1 COLLATE latin1_bin
);
CREATE TABLE Orders
(
OrderID SMALLINT UNSIGNED,
BikeModel VARCHAR(40),
BikeColor ENUM('red', 'blue', 'green', 'yellow'),
BikeOptions SET('rack', 'light', 'helmet', 'lock')
);
CREATE TABLE BookOrders
(
OrderID SMALLINT UNSIGNED,
BookID SMALLINT UNSIGNED,
Copyright YEAR,
OrderDate TIMESTAMP
);
CREATE TABLE Catalog
(
ProductID SMALLINT UNSIGNED NOT NULL,
Name VARCHAR(40) NOT NULL
);
CREATE TABLE AuthorBios
(
AuthID SMALLINT UNSIGNED NOT NULL,
YearBorn YEAR NOT NULL,
CityBorn VARCHAR(40) NOT NULL DEFAULT 'Unknown'
);
CREATE TABLE AuthorBios
(
AuthID SMALLINT UNSIGNED NOT NULL,
YearBorn YEAR NOT NULL,
NumBooks SMALLINT NOT NULL DEFAULT 1
);
CREATE TABLE Orders
(
OrderID SMALLINT UNSIGNED NOT NULL PRIMARY KEY,
ModelID SMALLINT UNSIGNED NOT NULL,
ModelDescrip VARCHAR(40)
);
CREATE TABLE Orders
(
OrderID SMALLINT UNSIGNED NOT NULL,
ModelID SMALLINT UNSIGNED NOT NULL,
ModelDescrip VARCHAR(40),
PRIMARY KEY (OrderID)
);
CREATE TABLE Orders
(
OrderID SMALLINT UNSIGNED NOT NULL,
ModelID SMALLINT UNSIGNED NOT NULL,
ModelDescrip VARCHAR(40),
PRIMARY KEY (OrderID, ModelID)
);
CREATE TABLE Catalog
(
ProductID SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
Name VARCHAR(40) NOT NULL,
PRIMARY KEY (ProductID)
);
CREATE TABLE Orders
(
OrderID SMALLINT UNSIGNED NOT NULL PRIMARY KEY,
ModelID SMALLINT UNSIGNED NOT NULL REFERENCES Models (ModelID),
ModelDescrip VARCHAR(40)
);
CREATE TABLE Orders
(
OrderID SMALLINT UNSIGNED NOT NULL PRIMARY KEY,
ModelID SMALLINT UNSIGNED NOT NULL,
ModelDescrip VARCHAR(40),
FOREIGN KEY (ModelID) REFERENCES Models (ModelID)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE AuthorBios
(
AuthID SMALLINT UNSIGNED NOT NULL,
YearBorn YEAR NOT NULL,
CityBorn VARCHAR(40) NOT NULL DEFAULT 'Unknown'
)
ENGINE=INNODB;
CREATE TABLE Books
(
BookID SMALLINT NOT NULL,
BookName VARCHAR(40) NOT NULL,
PubID SMALLINT NOT NULL DEFAULT 'Unknown'
)
ENGINE=INNODB;
ALTER TABLE Books
ADD PRIMARY KEY (BookID),
ADD CONSTRAINT fk_1 FOREIGN KEY (PubID) REFERENCES Publishers (PubID),
ADD COLUMN Format ENUM('paperback', 'hardcover') NOT NULL AFTER BookName;
ALTER TABLE Books
DROP PRIMARY KEY,
DROP FOREIGN KEY fk_1,
DROP COLUMN Format;
CREATE TABLE Orders
(
OrderID SMALLINT UNSIGNED NOT NULL,
ModelID SMALLINT UNSIGNED NOT NULL,
ModelDescrip VARCHAR(40),
PRIMARY KEY (OrderID),
UNIQUE (OrderID, ModelID)
);
CREATE TABLE Orders
(
OrderID SMALLINT UNSIGNED NOT NULL,
ModelID SMALLINT UNSIGNED NOT NULL,
PRIMARY KEY (OrderID),
INDEX (ModelID)
);
CREATE TABLE Orders
(
OrderID SMALLINT UNSIGNED NOT NULL,
ModelID SMALLINT UNSIGNED NOT NULL,
ModelName VARCHAR(40),
PRIMARY KEY (OrderID),
FULLTEXT (ModelName)
);
CREATE TABLE Orders
(
OrderID SMALLINT UNSIGNED NOT NULL PRIMARY KEY,
ModelID SMALLINT UNSIGNED NOT NULL
);
ALTER TABLE Orders
ADD UNIQUE (OrderID, ModelID);
CREATE TABLE Orders
(
OrderID SMALLINT UNSIGNED NOT NULL PRIMARY KEY,
ModelID SMALLINT UNSIGNED NOT NULL
);
CREATE INDEX index_1 ON Orders (ModelID);
CREATE TABLE Orders
(
OrderID SMALLINT UNSIGNED NOT NULL PRIMARY KEY,
ModelID SMALLINT UNSIGNED NOT NULL,
UNIQUE unique_1 (OrderID, ModelID)
);
ALTER TABLE Orders
DROP INDEX unique_1;
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.