topical media & game development

talk show tell print

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.