zoukankan      html  css  js  c++  java
  • 01 准备工作

    使用MySQL进行学习

    1.样例表

    下载地址:http://www.forta.com/books/0672336073/

     

    2.MySQL安装

    (1)下载

    地址:http://dev.mysql.com/downloads/mysql/

    ZIP Archive版是免安装的,只要解压就行了,和安装版的没什么不同,将下载好的文件mysql-5.7.16-winx64.zip解压到D:Program FilesSQL

    打开D:Program FilesSQLmysql-5.7.16-winx64in目录下mysql.exe。出来一个黑窗口就没反应了。

    (2)配置默认文件

    D:Program FilesSQLmysql-5.7.16-winx64in目录下,新建my.ini。复制下面的代码保存就ok了。

    [mysql]

    # 设置mysql客户端默认字符集

    default-character-set=utf8

    [mysqld]

    #设置3306端口

    port = 3306

    # 设置mysql的安装目录

    basedir=D:Program FilesSQLmysql-5.7.16-winx64

    # 设置mysql数据库的数据的存放目录

    datadir=D:Program FilesSQLmysql-5.7.16-winx64data

    # 允许最大连接数

    max_connections=200

    # 服务端使用的字符集默认为8比特编码的latin1字符集

    character-set-server=utf8

    # 创建新表时将使用的默认存储引擎

    default-storage-engine=INNODB

    .ini文件是window里面的配置文件。保存里面各种默认的数据。安装版的是在安装的时候让你自己选然后系统给你保存进来,zip archive则是自己写。

    注意my.ini文件必须在in目录中。

    (3)安装mysql服务

    以管理员身份运行cmd,切换到D:Program FilesSQLmysql-5.7.16-winx64in目录。

    输入:mysqld --defaults-file=my.ini --initialize-insecure并回车,无报错。

    输入:mysqld install并回车。

    输入 net start mysql 启动服务。(也可以手动开启)

    安装成功。

    输入mysql -u root -p,输入密码,初始为空可直接回车,mysql可以使用了。

    PS:直接用mysqld install安装会出现错误。

    安装参考:http://blog.csdn.net/u013067166/article/details/49951577

    3.MySQL Workbench

    MySQL Workbench MySQL AB 释放的可视数据库设计工具,是设计MySQL 数据库的专用工具。

    下载地址:http://dev.mysql.com/downloads/workbench/

    点击安装:

    更改安装目录:D:Program FilesMySQLMySQL Workbench 6.3 CE

    打开后界面:

    4.建立数据库

    双击Local instance MySQL(已经配置好了)以打开SQL编辑器。

    (1)表的创建

    1)新建schme,设置名字为tysql

    点击保存。

    2)现在可以在编辑器窗口中更改SQL类型,但必须首先确保选中了新创建的数据库。如果被选中,它的名称将以粗体显示在标题栏中。如果tysql未被选中,在左边窗口中双击tysql

    未被选中:

    被选中:

    右击选择send to SQL editor----create Statement,将create.txt中的代码粘贴到其中。

    -- -----------------------------------------

    -- Sams Teach Yourself SQL in 10 Minutes

    -- http://forta.com/books/0672336073/

    -- Example table creation scripts for MySQL.

    -- -----------------------------------------

    -- ----------------------

    -- Create Customers table

    -- ----------------------

    CREATE TABLE Customers

    (

    cust_id char(10) NOT NULL ,

    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

    );

    -- -----------------------

    -- 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

    );

    -- -------------------

    -- Create Orders table

    -- -------------------

    CREATE TABLE Orders

    (

    order_num int NOT NULL ,

    order_date datetime NOT NULL ,

    cust_id char(10) NOT NULL

    );

    -- ---------------------

    -- Create Products table

    -- ---------------------

    CREATE TABLE Products

    (

    prod_id char(10) NOT NULL ,

    vend_id char(10) NOT NULL ,

    prod_name char(255) NOT NULL ,

    prod_price decimal(8,2) NOT NULL ,

    prod_desc text NULL

    );

    -- --------------------

    -- Create Vendors table

    -- --------------------

    CREATE TABLE Vendors

    (

    vend_id char(10) NOT NULL ,

    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

    );

    -- -------------------

    -- Define primary keys

    -- -------------------

    ALTER TABLE Customers ADD PRIMARY KEY (cust_id);

    ALTER TABLE OrderItems ADD PRIMARY KEY (order_num, order_item);

    ALTER TABLE Orders ADD PRIMARY KEY (order_num);

    ALTER TABLE Products ADD PRIMARY KEY (prod_id);

    ALTER TABLE Vendors ADD PRIMARY KEY (vend_id);

    -- -------------------

    -- 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 DATABASE `tysql` /*!40100 DEFAULT CHARACTER SET latin1 */;这行代码删除,否则执行会报错,提示tysqldatabase已经创建过了。

    3)执行Query----Execute(All or selection)

    4)Schemas刷新一下,可看到有5个新建的table

    创建成功,关闭SQL Statement窗口,保存为create.sql

    (2)表的填充

    1)右击选择send to SQL editor----create Statement,粘贴populate.txt中的代码。

    -- -------------------------------------------

    -- Sams Teach Yourself SQL in 10 Minutes

    -- http://forta.com/books/0672336073/

    -- Example table population scripts for MySQL.

    -- -------------------------------------------

    -- ------------------------

    -- 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('1000000001', 'Village Toys', '200 Maple Lane', 'Detroit', 'MI', '44444', 'USA', 'John Smith', 'sales@villagetoys.com');

    INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact)

    VALUES('1000000002', 'Kids Place', '333 South Lake Drive', 'Columbus', 'OH', '43333', 'USA', 'Michelle Green');

    INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)

    VALUES('1000000003', 'Fun4All', '1 Sunny Place', 'Muncie', 'IN', '42222', 'USA', 'Jim Jones', 'jjones@fun4all.com');

    INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)

    VALUES('1000000004', 'Fun4All', '829 Riverside Drive', 'Phoenix', 'AZ', '88888', 'USA', 'Denise L. Stephens', 'dstephens@fun4all.com');

    INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact)

    VALUES('1000000005', 'The Toy Store', '4545 53rd Street', 'Chicago', 'IL', '54545', 'USA', 'Kim Howard');

    -- ----------------------

    -- Populate Vendors table

    -- ----------------------

    INSERT INTO Vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)

    VALUES('BRS01','Bears R Us','123 Main Street','Bear Town','MI','44444', 'USA');

    INSERT INTO Vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)

    VALUES('BRE02','Bear Emporium','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('DLL01','Doll House Inc.','555 High Street','Dollsville','CA','99999', 'USA');

    INSERT INTO Vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)

    VALUES('FRB01','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('FNG01','Fun and Games','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('JTS01','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('BR01', 'BRS01', '8 inch teddy bear', 5.99, '8 inch teddy bear, comes with cap and jacket');

    INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)

    VALUES('BR02', 'BRS01', '12 inch teddy bear', 8.99, '12 inch teddy bear, comes with cap and jacket');

    INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)

    VALUES('BR03', 'BRS01', '18 inch teddy bear', 11.99, '18 inch teddy bear, comes with cap and jacket');

    INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)

    VALUES('BNBG01', 'DLL01', 'Fish bean bag toy', 3.49, 'Fish bean bag toy, complete with bean bag worms with which to feed it');

    INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)

    VALUES('BNBG02', 'DLL01', 'Bird bean bag toy', 3.49, 'Bird bean bag toy, eggs are not included');

    INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)

    VALUES('BNBG03', 'DLL01', 'Rabbit bean bag toy', 3.49, 'Rabbit bean bag toy, comes with bean bag carrots');

    INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)

    VALUES('RGAN01', 'DLL01', 'Raggedy Ann', 4.99, '18 inch Raggedy Ann doll');

    INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)

    VALUES('RYL01', 'FNG01', 'King doll', 9.49, '12 inch king doll with royal garments and crown');

    INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)

    VALUES('RYL02', 'FNG01', 'Queen doll', 9.49, '12 inch queen doll with royal garments and crown');

    -- ---------------------

    -- Populate Orders table

    -- ---------------------

    INSERT INTO Orders(order_num, order_date, cust_id)

    VALUES(20005, '2012-05-01', '1000000001');

    INSERT INTO Orders(order_num, order_date, cust_id)

    VALUES(20006, '2012-01-12', '1000000003');

    INSERT INTO Orders(order_num, order_date, cust_id)

    VALUES(20007, '2012-01-30', '1000000004');

    INSERT INTO Orders(order_num, order_date, cust_id)

    VALUES(20008, '2012-02-03', '1000000005');

    INSERT INTO Orders(order_num, order_date, cust_id)

    VALUES(20009, '2012-02-08', '1000000001');

    -- -------------------------

    -- Populate OrderItems table

    -- -------------------------

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20005, 1, 'BR01', 100, 5.49);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20005, 2, 'BR03', 100, 10.99);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20006, 1, 'BR01', 20, 5.99);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20006, 2, 'BR02', 10, 8.99);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20006, 3, 'BR03', 10, 11.99);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20007, 1, 'BR03', 50, 11.49);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20007, 2, 'BNBG01', 100, 2.99);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20007, 3, 'BNBG02', 100, 2.99);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20007, 4, 'BNBG03', 100, 2.99);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20007, 5, 'RGAN01', 50, 4.49);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20008, 1, 'RGAN01', 5, 4.99);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20008, 2, 'BR03', 5, 11.99);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20008, 3, 'BNBG01', 10, 3.49);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20008, 4, 'BNBG02', 10, 3.49);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20008, 5, 'BNBG03', 10, 3.49);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20009, 1, 'BNBG01', 250, 2.49);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20009, 2, 'BNBG02', 250, 2.49);

    INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)

    VALUES(20009, 3, 'BNBG03', 250, 2.49);

    2)执行,点击Query----Execute(All or selection)

    3)关闭,保存为populate.sql

    (3)测试

    在Query窗口,或者send to SQL editor----create StatementSQL File窗口

    输入:SELECT * FROM Customers;

    执行:Query----Execute(All or selection)

  • 相关阅读:
    Microsoft .NET Framework 以及 CLR 的版本
    如何:备份 Team Foundation Server
    通过VS2008SP1 访问TFS2010
    Project 2007 Understanding Project's Percent Complete vs. Percent Work Complete
    TFS:从单服务器部署移到双服务器部署
    C#网络编程(基本概念和操作) Part.1
    图解Windows server 2012故障转移群集的安装、建立
    产品经理经验总结
    TCP同步与异步及阻塞模式,多线程+阻塞模式,非阻塞模式简单介绍
    Windows Phone开发概论
  • 原文地址:https://www.cnblogs.com/Sumomo0516/p/6131490.html
Copyright © 2011-2022 走看看