xiaobingqianrui

1.实战环境

  windows 10 64位

  mysql-8.0.13

  mysql编辑和查看工具:NaviCat for MySql

  表脚本文件:

########################################
# MySQL Crash Course
# http://www.forta.com/books/0672327120/
# Example table creation scripts
########################################


########################
# Create customers table
########################
CREATE TABLE customers
(
  cust_id      int       NOT NULL AUTO_INCREMENT,
  cust_name    char(50)  NOT NULL ,
  cust_address char(50)  NULL ,
  cust_city    char(50)  NULL ,
  cust_state   char(5)   NULL ,
  cust_zip     char(10)  NULL ,
  cust_country char(50)  NULL ,
  cust_contact char(50)  NULL ,
  cust_email   char(255) NULL ,
  PRIMARY KEY (cust_id)
) ENGINE=InnoDB;

#########################
# Create orderitems table
#########################
CREATE TABLE orderitems
(
  order_num  int          NOT NULL ,
  order_item int          NOT NULL ,
  prod_id    char(10)     NOT NULL ,
  quantity   int          NOT NULL ,
  item_price decimal(8,2) NOT NULL ,
  PRIMARY KEY (order_num, order_item)
) ENGINE=InnoDB;


#####################
# Create orders table
#####################
CREATE TABLE orders
(
  order_num  int      NOT NULL AUTO_INCREMENT,
  order_date datetime NOT NULL ,
  cust_id    int      NOT NULL ,
  PRIMARY KEY (order_num)
) ENGINE=InnoDB;

#######################
# Create products table
#######################
CREATE TABLE products
(
  prod_id    char(10)      NOT NULL,
  vend_id    int           NOT NULL ,
  prod_name  char(255)     NOT NULL ,
  prod_price decimal(8,2)  NOT NULL ,
  prod_desc  text          NULL ,
  PRIMARY KEY(prod_id)
) ENGINE=InnoDB;

######################
# Create vendors table
######################
CREATE TABLE vendors
(
  vend_id      int      NOT NULL AUTO_INCREMENT,
  vend_name    char(50) NOT NULL ,
  vend_address char(50) NULL ,
  vend_city    char(50) NULL ,
  vend_state   char(5)  NULL ,
  vend_zip     char(10) NULL ,
  vend_country char(50) NULL ,
  PRIMARY KEY (vend_id)
) ENGINE=InnoDB;

###########################
# Create productnotes table
###########################
CREATE TABLE productnotes
(
  note_id    int           NOT NULL AUTO_INCREMENT,
  prod_id    char(10)      NOT NULL,
  note_date datetime       NOT NULL,
  note_text  text          NULL ,
  PRIMARY KEY(note_id),
  FULLTEXT(note_text)
) ENGINE=MyISAM;


#####################
# Define foreign keys
#####################
ALTER TABLE orderitems ADD CONSTRAINT fk_orderitems_orders FOREIGN KEY (order_num) REFERENCES orders (order_num);
ALTER TABLE orderitems ADD CONSTRAINT fk_orderitems_products FOREIGN KEY (prod_id) REFERENCES products (prod_id);
ALTER TABLE orders ADD CONSTRAINT fk_orders_customers FOREIGN KEY (cust_id) REFERENCES customers (cust_id);
ALTER TABLE products ADD CONSTRAINT fk_products_vendors FOREIGN KEY (vend_id) REFERENCES vendors (vend_id);
create.sql

  插入数据脚本文件:

########################################
# MySQL Crash Course
# http://www.forta.com/books/0672327120/
# Example table population scripts
########################################


##########################
# Populate customers table
##########################
INSERT INTO customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)
VALUES(10001, \'Coyote Inc.\', \'200 Maple Lane\', \'Detroit\', \'MI\', \'44444\', \'USA\', \'Y Lee\', \'ylee@coyote.com\');
INSERT INTO customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact)
VALUES(10002, \'Mouse House\', \'333 Fromage Lane\', \'Columbus\', \'OH\', \'43333\', \'USA\', \'Jerry Mouse\');
INSERT INTO customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)
VALUES(10003, \'Wascals\', \'1 Sunny Place\', \'Muncie\', \'IN\', \'42222\', \'USA\', \'Jim Jones\', \'rabbit@wascally.com\');
INSERT INTO customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)
VALUES(10004, \'Yosemite Place\', \'829 Riverside Drive\', \'Phoenix\', \'AZ\', \'88888\', \'USA\', \'Y Sam\', \'sam@yosemite.com\');
INSERT INTO customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact)
VALUES(10005, \'E Fudd\', \'4545 53rd Street\', \'Chicago\', \'IL\', \'54545\', \'USA\', \'E Fudd\');


########################
# Populate vendors table
########################
INSERT INTO vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
VALUES(1001,\'Anvils R Us\',\'123 Main Street\',\'Southfield\',\'MI\',\'48075\', \'USA\');
INSERT INTO vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
VALUES(1002,\'LT Supplies\',\'500 Park Street\',\'Anytown\',\'OH\',\'44333\', \'USA\');
INSERT INTO vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
VALUES(1003,\'ACME\',\'555 High Street\',\'Los Angeles\',\'CA\',\'90046\', \'USA\');
INSERT INTO vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
VALUES(1004,\'Furball Inc.\',\'1000 5th Avenue\',\'New York\',\'NY\',\'11111\', \'USA\');
INSERT INTO vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
VALUES(1005,\'Jet Set\',\'42 Galaxy Road\',\'London\', NULL,\'N16 6PS\', \'England\');
INSERT INTO vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
VALUES(1006,\'Jouets Et Ours\',\'1 Rue Amusement\',\'Paris\', NULL,\'45678\', \'France\');


#########################
# Populate products table
#########################
INSERT INTO products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES(\'ANV01\', 1001, \'.5 ton anvil\', 5.99, \'.5 ton anvil, black, complete with handy hook\');
INSERT INTO products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES(\'ANV02\', 1001, \'1 ton anvil\', 9.99, \'1 ton anvil, black, complete with handy hook and carrying case\');
INSERT INTO products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES(\'ANV03\', 1001, \'2 ton anvil\', 14.99, \'2 ton anvil, black, complete with handy hook and carrying case\');
INSERT INTO products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES(\'OL1\', 1002, \'Oil can\', 8.99, \'Oil can, red\');
INSERT INTO products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES(\'FU1\', 1002, \'Fuses\', 3.42, \'1 dozen, extra long\');
INSERT INTO products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES(\'SLING\', 1003, \'Sling\', 4.49, \'Sling, one size fits all\');
INSERT INTO products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES(\'TNT1\', 1003, \'TNT (1 stick)\', 2.50, \'TNT, red, single stick\');
INSERT INTO products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES(\'TNT2\', 1003, \'TNT (5 sticks)\', 10, \'TNT, red, pack of 10 sticks\');
INSERT INTO products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES(\'FB\', 1003, \'Bird seed\', 10, \'Large bag (suitable for road runners)\');
INSERT INTO products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES(\'FC\', 1003, \'Carrots\', 2.50, \'Carrots (rabbit hunting season only)\');
INSERT INTO products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES(\'SAFE\', 1003, \'Safe\', 50, \'Safe with combination lock\');
INSERT INTO products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES(\'DTNTR\', 1003, \'Detonator\', 13, \'Detonator (plunger powered), fuses not included\');
INSERT INTO products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES(\'JP1000\', 1005, \'JetPack 1000\', 35, \'JetPack 1000, intended for single use\');
INSERT INTO products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES(\'JP2000\', 1005, \'JetPack 2000\', 55, \'JetPack 2000, multi-use\');



#######################
# Populate orders table
#######################
INSERT INTO orders(order_num, order_date, cust_id)
VALUES(20005, \'2005-09-01\', 10001);
INSERT INTO orders(order_num, order_date, cust_id)
VALUES(20006, \'2005-09-12\', 10003);
INSERT INTO orders(order_num, order_date, cust_id)
VALUES(20007, \'2005-09-30\', 10004);
INSERT INTO orders(order_num, order_date, cust_id)
VALUES(20008, \'2005-10-03\', 10005);
INSERT INTO orders(order_num, order_date, cust_id)
VALUES(20009, \'2005-10-08\', 10001);


###########################
# Populate orderitems table
###########################
INSERT INTO orderitems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20005, 1, \'ANV01\', 10, 5.99);
INSERT INTO orderitems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20005, 2, \'ANV02\', 3, 9.99);
INSERT INTO orderitems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20005, 3, \'TNT2\', 5, 10);
INSERT INTO orderitems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20005, 4, \'FB\', 1, 10);
INSERT INTO orderitems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20006, 1, \'JP2000\', 1, 55);
INSERT INTO orderitems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20007, 1, \'TNT2\', 100, 10);
INSERT INTO orderitems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20008, 1, \'FC\', 50, 2.50);
INSERT INTO orderitems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20009, 1, \'FB\', 1, 10);
INSERT INTO orderitems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20009, 2, \'OL1\', 1, 8.99);
INSERT INTO orderitems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20009, 3, \'SLING\', 1, 4.49);
INSERT INTO orderitems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20009, 4, \'ANV03\', 1, 14.99);

#############################
# Populate productnotes table
#############################
INSERT INTO productnotes(note_id, prod_id, note_date, note_text)
VALUES(101, \'TNT2\', \'2005-08-17\',
\'Customer complaint:
Sticks not individually wrapped, too easy to mistakenly detonate all at once.
Recommend individual wrapping.\'
);
INSERT INTO productnotes(note_id, prod_id, note_date, note_text)
VALUES(102, \'OL1\', \'2005-08-18\',
\'Can shipped full, refills not available.
Need to order new can if refill needed.\'
);
INSERT INTO productnotes(note_id, prod_id, note_date, note_text)
VALUES(103, \'SAFE\', \'2005-08-18\',
\'Safe is combination locked, combination not provided with safe.
This is rarely a problem as safes are typically blown up or dropped by customers.\'
);
INSERT INTO productnotes(note_id, prod_id, note_date, note_text)
VALUES(104, \'FC\', \'2005-08-19\',
\'Quantity varies, sold by the sack load.
All guaranteed to be bright and orange, and suitable for use as rabbit bait.\'
);
INSERT INTO productnotes(note_id, prod_id, note_date, note_text)
VALUES(105, \'TNT2\', \'2005-08-20\',
\'Included fuses are short and have been known to detonate too quickly for some customers.
Longer fuses are available (item FU1) and should be recommended.\'
);
INSERT INTO productnotes(note_id, prod_id, note_date, note_text)
VALUES(106, \'TNT2\', \'2005-08-22\',
\'Matches not included, recommend purchase of matches or detonator (item DTNTR).\'
);
INSERT INTO productnotes(note_id, prod_id, note_date, note_text)
VALUES(107, \'SAFE\', \'2005-08-23\',
\'Please note that no returns will be accepted if safe opened using explosives.\'
);
INSERT INTO productnotes(note_id, prod_id, note_date, note_text)
VALUES(108, \'ANV01\', \'2005-08-25\',
\'Multiple customer returns, anvils failing to drop fast enough or falling backwards on purchaser. Recommend that customer considers using heavier anvils.\'
);
INSERT INTO productnotes(note_id, prod_id, note_date, note_text)
VALUES(109, \'ANV03\', \'2005-09-01\',
\'Item is extremely heavy. Designed for dropping, not recommended for use with slings, ropes, pulleys, or tightropes.\'
);
INSERT INTO productnotes(note_id, prod_id, note_date, note_text)
VALUES(110, \'FC\', \'2005-09-01\',
\'Customer complaint: rabbit has been able to detect trap, food apparently less effective now.\'
);
INSERT INTO productnotes(note_id, prod_id, note_date, note_text)
VALUES(111, \'SLING\', \'2005-09-02\',
\'Shipped unassembled, requires common tools (including oversized hammer).\'
);
INSERT INTO productnotes(note_id, prod_id, note_date, note_text)
VALUES(112, \'SAFE\', \'2005-09-02\',
\'Customer complaint:
Circular hole in safe floor can apparently be easily cut with handsaw.\'
);
INSERT INTO productnotes(note_id, prod_id, note_date, note_text)
VALUES(113, \'ANV01\', \'2005-09-05\',
\'Customer complaint:
Not heavy enough to generate flying stars around head of victim. If being purchased for dropping, recommend ANV02 or ANV03 instead.\'
);
INSERT INTO productnotes(note_id, prod_id, note_date, note_text)
VALUES(114, \'SAFE\', \'2005-09-07\',
\'Call from individual trapped in safe plummeting to the ground, suggests an escape hatch be added.
Comment forwarded to vendor.\'
);
populate.sql

2. 创建数据库和表

(1)创建数据库sqlbzhu

  create database sqlbzbh;

(2)一次创建create.sql脚本文件中的表

  以customers表为例

  查看customers表fileds

  其他表用NaviCat工具创建,见下图

3. 为表插入数据

  依然以customers表为例插入数据,其他表的数据通过Navicat for MySql添加

方法1:不用域字段插入一行(不推荐)

方法2:使用域字段插入一行(安全但繁琐,推荐使用)

方法3:插入多行

4. 删除表中的一行数据

  delete from customers where cust_id = 10005;

5. 删除表中的某个字段列

  删除cust_zip列:alter table customers drop column cust_zip;

6. 为表添加字段cust_zip

  alter table customers add cust_zip char(10) NOT NULL;

7. 为行的某个字段添加值

  update customers set cust_zip = \'44444\' where cust_id = 10001;

8. 更改列名

  alter table customers change cust_zip cust_modify char(10) NOT NULL;

9. 修改filed类型

  alter table customers modify column cust_name var(255) NOT NULL;

10. 各表内容展示

(1)customers

(2)orderitems

(3)orders

(4)productnotes

(5)products

(6)vendors

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-05-20
  • 2021-08-10
  • 2021-10-22
  • 2021-09-25
  • 2021-11-16
  • 2021-06-21
猜你喜欢
  • 2021-10-30
  • 2022-03-02
  • 2021-09-19
  • 2021-07-12
  • 2021-06-25
  • 2022-12-23
  • 2021-08-07
相关资源
相似解决方案