⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sakila-schema.sql

📁 这是MySQL官方测试用的数据库
💻 SQL
📖 第 1 页 / 共 2 页
字号:
-- Sakila Sample Database Schema-- Version 0.8-- Copyright (c) 2006, MySQL AB-- All rights reserved.-- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:--  * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.--  * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.--  * Neither the name of MySQL AB nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';DROP SCHEMA IF EXISTS sakila;CREATE SCHEMA sakila;USE sakila;---- Table structure for table `actor`--CREATE TABLE actor (  actor_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,  first_name VARCHAR(45) NOT NULL,  last_name VARCHAR(45) NOT NULL,  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY  (actor_id),  KEY idx_actor_last_name (last_name))ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `address`--CREATE TABLE address (  address_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,  address VARCHAR(50) NOT NULL,  address2 VARCHAR(50) DEFAULT NULL,  district VARCHAR(20) NOT NULL,  city_id SMALLINT UNSIGNED NOT NULL,  postal_code VARCHAR(10) DEFAULT NULL,  phone VARCHAR(20) NOT NULL,  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY  (address_id),  KEY idx_fk_city_id (city_id),  CONSTRAINT `fk_address_city` FOREIGN KEY (city_id) REFERENCES city (city_id) ON DELETE RESTRICT ON UPDATE CASCADE)ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `category`--CREATE TABLE category (  category_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,  name VARCHAR(25) NOT NULL,  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY  (category_id))ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `city`--CREATE TABLE city (  city_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,  city VARCHAR(50) NOT NULL,  country_id SMALLINT UNSIGNED NOT NULL,  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY  (city_id),  KEY idx_fk_country_id (country_id),  CONSTRAINT `fk_city_country` FOREIGN KEY (country_id) REFERENCES country (country_id) ON DELETE RESTRICT ON UPDATE CASCADE)ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `country`--CREATE TABLE country (  country_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,  country VARCHAR(50) NOT NULL,  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY  (country_id))ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `customer`--CREATE TABLE customer (  customer_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,  store_id TINYINT UNSIGNED NOT NULL,  first_name VARCHAR(45) NOT NULL,  last_name VARCHAR(45) NOT NULL,  email VARCHAR(50) DEFAULT NULL,  address_id SMALLINT UNSIGNED NOT NULL,  active BOOLEAN NOT NULL DEFAULT TRUE,  create_date DATETIME NOT NULL,  last_update TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY  (customer_id),  KEY idx_fk_store_id (store_id),  KEY idx_fk_address_id (address_id),  KEY idx_last_name (last_name),  CONSTRAINT fk_customer_address FOREIGN KEY (address_id) REFERENCES address (address_id) ON DELETE RESTRICT ON UPDATE CASCADE,  CONSTRAINT fk_customer_store FOREIGN KEY (store_id) REFERENCES store (store_id) ON DELETE RESTRICT ON UPDATE CASCADE)ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `film`--CREATE TABLE film (  film_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,  title VARCHAR(255) NOT NULL,  description TEXT DEFAULT NULL,  release_year YEAR DEFAULT NULL,  language_id TINYINT UNSIGNED NOT NULL,  original_language_id TINYINT UNSIGNED DEFAULT NULL,  rental_duration TINYINT UNSIGNED NOT NULL DEFAULT 3,  rental_rate DECIMAL(4,2) NOT NULL DEFAULT 4.99,  length SMALLINT UNSIGNED DEFAULT NULL,  replacement_cost DECIMAL(5,2) NOT NULL DEFAULT 19.99,  rating ENUM('G','PG','PG-13','R','NC-17') DEFAULT 'G',  special_features SET('Trailers','Commentaries','Deleted Scenes','Behind the Scenes') DEFAULT NULL,  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY  (film_id),  KEY idx_title (title),  KEY idx_fk_language_id (language_id),  KEY idx_fk_original_language_id (original_language_id),  CONSTRAINT fk_film_language FOREIGN KEY (language_id) REFERENCES language (language_id) ON DELETE RESTRICT ON UPDATE CASCADE,  CONSTRAINT fk_film_language_original FOREIGN KEY (original_language_id) REFERENCES language (language_id) ON DELETE RESTRICT ON UPDATE CASCADE)ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `film_actor`--CREATE TABLE film_actor (  actor_id SMALLINT UNSIGNED NOT NULL,  film_id SMALLINT UNSIGNED NOT NULL,  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY  (actor_id,film_id),  KEY idx_fk_film_id (`film_id`),  CONSTRAINT fk_film_actor_actor FOREIGN KEY (actor_id) REFERENCES actor (actor_id) ON DELETE RESTRICT ON UPDATE CASCADE,  CONSTRAINT fk_film_actor_film FOREIGN KEY (film_id) REFERENCES film (film_id) ON DELETE RESTRICT ON UPDATE CASCADE)ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `film_category`--CREATE TABLE film_category (  film_id SMALLINT UNSIGNED NOT NULL,  category_id TINYINT UNSIGNED NOT NULL,  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY (film_id, category_id),  CONSTRAINT fk_film_category_film FOREIGN KEY (film_id) REFERENCES film (film_id) ON DELETE RESTRICT ON UPDATE CASCADE,  CONSTRAINT fk_film_category_category FOREIGN KEY (category_id) REFERENCES category (category_id) ON DELETE RESTRICT ON UPDATE CASCADE)ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `film_text`--CREATE TABLE film_text (  film_id SMALLINT NOT NULL,  title VARCHAR(255) NOT NULL,  description TEXT,  PRIMARY KEY  (film_id),  FULLTEXT KEY idx_title_description (title,description))ENGINE=MyISAM DEFAULT CHARSET=utf8;---- Triggers for loading film_text from film--DELIMITER ;;CREATE TRIGGER `ins_film` AFTER INSERT ON `film` FOR EACH ROW BEGIN    INSERT INTO film_text (film_id, title, description)        VALUES (new.film_id, new.title, new.description);  END;;CREATE TRIGGER `upd_film` AFTER UPDATE ON `film` FOR EACH ROW BEGIN    IF (old.title != new.title) or (old.description != new.description)    THEN        UPDATE film_text            SET title=new.title,                description=new.description,                film_id=new.film_id        WHERE film_id=old.film_id;    END IF;  END;;CREATE TRIGGER `del_film` AFTER DELETE ON `film` FOR EACH ROW BEGIN    DELETE FROM film_text WHERE film_id = old.film_id;  END;;DELIMITER ;---- Table structure for table `inventory`--CREATE TABLE inventory (  inventory_id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,  film_id SMALLINT UNSIGNED NOT NULL,  store_id TINYINT UNSIGNED NOT NULL,  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY  (inventory_id),  KEY idx_fk_film_id (film_id),  KEY idx_store_id_film_id (store_id,film_id),  CONSTRAINT fk_inventory_store FOREIGN KEY (store_id) REFERENCES store (store_id) ON DELETE RESTRICT ON UPDATE CASCADE,  CONSTRAINT fk_inventory_film FOREIGN KEY (film_id) REFERENCES film (film_id) ON DELETE RESTRICT ON UPDATE CASCADE)ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `language`--CREATE TABLE language (  language_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,  name CHAR(20) NOT NULL,  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY (language_id))ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `payment`--CREATE TABLE payment (  payment_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,  customer_id SMALLINT UNSIGNED NOT NULL,  staff_id TINYINT UNSIGNED NOT NULL,  rental_id INT DEFAULT NULL,  amount DECIMAL(5,2) NOT NULL,  payment_date DATETIME NOT NULL,  last_update TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY  (payment_id),  KEY idx_fk_staff_id (staff_id),  KEY idx_fk_customer_id (customer_id),  CONSTRAINT fk_payment_rental FOREIGN KEY (rental_id) REFERENCES rental (rental_id) ON DELETE SET NULL ON UPDATE CASCADE,  CONSTRAINT fk_payment_customer FOREIGN KEY (customer_id) REFERENCES customer (customer_id) ON DELETE RESTRICT ON UPDATE CASCADE,  CONSTRAINT fk_payment_staff FOREIGN KEY (staff_id) REFERENCES staff (staff_id) ON DELETE RESTRICT ON UPDATE CASCADE)ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `rental`--CREATE TABLE rental (  rental_id INT NOT NULL AUTO_INCREMENT,  rental_date DATETIME NOT NULL,  inventory_id MEDIUMINT UNSIGNED NOT NULL,  customer_id SMALLINT UNSIGNED NOT NULL,  return_date DATETIME DEFAULT NULL,  staff_id TINYINT UNSIGNED NOT NULL,  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY (rental_id),  UNIQUE KEY  (rental_date,inventory_id,customer_id),  KEY idx_fk_inventory_id (inventory_id),  KEY idx_fk_customer_id (customer_id),  KEY idx_fk_staff_id (staff_id),  CONSTRAINT fk_rental_staff FOREIGN KEY (staff_id) REFERENCES staff (staff_id) ON DELETE RESTRICT ON UPDATE CASCADE,  CONSTRAINT fk_rental_inventory FOREIGN KEY (inventory_id) REFERENCES inventory (inventory_id) ON DELETE RESTRICT ON UPDATE CASCADE,  CONSTRAINT fk_rental_customer FOREIGN KEY (customer_id) REFERENCES customer (customer_id) ON DELETE RESTRICT ON UPDATE CASCADE)ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `staff`--CREATE TABLE staff (  staff_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,  first_name VARCHAR(45) NOT NULL,  last_name VARCHAR(45) NOT NULL,  address_id SMALLINT UNSIGNED NOT NULL,  picture BLOB DEFAULT NULL,  email VARCHAR(50) DEFAULT NULL,  store_id TINYINT UNSIGNED NOT NULL,  active BOOLEAN NOT NULL DEFAULT TRUE,  username VARCHAR(16) NOT NULL,  password VARCHAR(40) BINARY DEFAULT NULL,  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY  (staff_id),  KEY idx_fk_store_id (store_id),  KEY idx_fk_address_id (address_id),  CONSTRAINT fk_staff_store FOREIGN KEY (store_id) REFERENCES store (store_id) ON DELETE RESTRICT ON UPDATE CASCADE,  CONSTRAINT fk_staff_address FOREIGN KEY (address_id) REFERENCES address (address_id) ON DELETE RESTRICT ON UPDATE CASCADE)ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `store`--CREATE TABLE store (  store_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,  manager_staff_id TINYINT UNSIGNED NOT NULL,  address_id SMALLINT UNSIGNED NOT NULL,  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY  (store_id),  UNIQUE KEY idx_unique_manager (manager_staff_id),  KEY idx_fk_address_id (address_id),  CONSTRAINT fk_store_staff FOREIGN KEY (manager_staff_id) REFERENCES staff (staff_id) ON DELETE RESTRICT ON UPDATE CASCADE,  CONSTRAINT fk_store_address FOREIGN KEY (address_id) REFERENCES address (address_id) ON DELETE RESTRICT ON UPDATE CASCADE)ENGINE=InnoDB DEFAULT CHARSET=utf8;---- View structure for view `customer_list`--CREATE VIEW customer_list AS SELECT cu.customer_id AS ID, CONCAT(cu.first_name, _utf8' ', cu.last_name) AS name, a.address AS address, a.postal_code AS `zip code`,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -