zoukankan      html  css  js  c++  java
  • sql语句操作记录

    发觉一些sql语句写出来的时候不停忘记,做一个记录。

    mySQL

     .查看表的创建过程sql语句和注释,注释是在创建表的过程中增加comment,后面跟随注释的内容

    SHOW CRATE TABLE TABLENAME   # 查看表创建过程

     .查询表中的嵌套条件,父类包含子类的结果

    SELECT * FROM test WHERE keyword="技术" OR paraent_id IN (SELECT DISTINCT id from 'test' WHERE keyword = "技术")
    

    添加唯一索引或者唯一性约束的时候,字段中必须没有重复的值,不然会创建失败。MySQL不支持text类型的字段创建,会失败。

    http://stackoverflow.com/questions/1827063/mysql-error-key-specification-without-a-key-length

    .创建表时候给字段增加唯一约束

    create table t3 (tid INT NOT NULL AUTO_INCREMENT,title VARCHAR(100) 
    NOT NULL UNIQUE,datetime DATE,user VARCHHAR(200),PRIMARY KEY(tid));

    .给已经建立的表某个字段增加唯一约束

    ALTER TABLE tablename add unique(fied)
    

     .创建表时候给字段增加唯一索引

    create table t2 (tid INT NOT NULL AUTO_INCREMENT,title VARCHAR(100) 
    NOT NULL,datetime DATE,user VARCHAR(200),PRIMARY KEY(tid),UNIQUE KEY u1 (user));

     .给已经建立的表某个字段增加唯一索引

    create unique index ti2 on t2(title);
    

     .查看MySQL字符集

    SHOW CHARACTER SET;
    

    # 使用多列的主键成为复合主键

    #  主键的值不允许被修改(实质可以修改)

    # 字符串:CHAR(20) _ VARCHAR(20)       
    # 文本:TINYTEXT TEXT MEDIUMTEXT LONGTEXT
    # 数值型:boolean,mediumint int bigint
               float(p,s) double(p,s)
    # 时间数据:date datetime timestamp year time

    +++++ 完整的定义一张person表和favorite_food外键约束表流程 +++++

      .创建一张person表,并且不给它增加主键自动增长

    CREATE TABLE person (person_id SMALLINT UNSIGNED,name VARCHAR(20),gender ENUM('M','F'),
    birth_date DATE,city VARCHAR(20),postal_code 
    VARCHAR(20), CONSTRAINT pk_person PRIMARY KEY (person_id));
    

       .创建一张favorite_food,两个主键,外键引用person表的主键id

    CREATE TABLE favorite_food (person_id SMALLINT UNSIGNED,
    food VARCHAR(20),
    CONSTRAINT pk_favorite_food PRIMARY KEY (person_id, food),
    CONSTRAINT fk_fav_food_person_id FOREIGN KEY(person_id) REFERENCES person (person_id));
    

       .现在给person表增加主键自增长,但是由于主键person_id被favorite_food引用,修改表增加自增长会失败,必须先删除掉favorite_food的外键引用

    锁表:
    LOCK TABLES favorite_food WRITE,person WRITE;
    删除外键引用:
    ALTER TABLE  favorite_food DROP FOREIGN KEY
    fk_fav_food_person_id;
    

       .修改person表主键为自增长

    ALTER TABLE person MODIFY person_id SMALLINT UNSIGNED AUTO_INCREMENT;
    

       .增加favorite_food外键引用

    ALTER TABLE favorite_food ADD CONSTRAINT fk_fav_food_person_id FOREIGN KEY (person_id) REFERENCES person (person_id) ON DELETE  CASCADE;
    

       .释放表:

    UNLOCK TABLES;
    

     +++++++    +++++++++++++

    .子查询产生的表

    SELECT e.emp_id,e.fname FROM (SELECT emp_id,fname,start_date,title FROM employee) AS e;
    

     .创建视图

    CREATE VIEW employee_vw AS SELECT emp_id,fname,YEAR(start_date) AS start_year FROM employee;
    

     .使用视图

    SELECT emp_id,start_year FROM employee_vw;
    

     .表连接

    SELECT e.emp_id,e.fname,department.name AS dept_name FROM employee as e inner join department ON e.dept_id = department.dept_id;
    

    # 创建bank表项目

      1 /* begin table creation */
      2 
      3 create table department
      4  (dept_id smallint unsigned not null auto_increment,
      5   name varchar(20) not null,
      6   constraint pk_department primary key (dept_id)
      7  );
      8 
      9 create table branch
     10  (branch_id smallint unsigned not null auto_increment,
     11   name varchar(20) not null,
     12   address varchar(30),
     13   city varchar(20),
     14   state varchar(2),
     15   zip varchar(12),
     16   constraint pk_branch primary key (branch_id)
     17  );
     18 
     19 create table employee
     20  (emp_id smallint unsigned not null auto_increment,
     21   fname varchar(20) not null,
     22   lname varchar(20) not null,
     23   start_date date not null,
     24   end_date date,
     25   superior_emp_id smallint unsigned,
     26   dept_id smallint unsigned,
     27   title varchar(20),
     28   assigned_branch_id smallint unsigned,
     29   constraint fk_e_emp_id 
     30     foreign key (superior_emp_id) references employee (emp_id),
     31   constraint fk_dept_id
     32     foreign key (dept_id) references department (dept_id),
     33   constraint fk_e_branch_id
     34     foreign key (assigned_branch_id) references branch (branch_id),
     35   constraint pk_employee primary key (emp_id)
     36  );
     37 
     38 create table product_type
     39  (product_type_cd varchar(10) not null,
     40   name varchar(50) not null,
     41   constraint pk_product_type primary key (product_type_cd)
     42  );
     43 
     44 create table product
     45  (product_cd varchar(10) not null,
     46   name varchar(50) not null,
     47   product_type_cd varchar(10) not null,
     48   date_offered date,
     49   date_retired date,
     50   constraint fk_product_type_cd foreign key (product_type_cd) 
     51     references product_type (product_type_cd),
     52   constraint pk_product primary key (product_cd)
     53  );
     54 
     55 create table customer
     56  (cust_id integer unsigned not null auto_increment,
     57   fed_id varchar(12) not null,
     58   cust_type_cd enum('I','B') not null,
     59   address varchar(30),
     60   city varchar(20),
     61   state varchar(20),
     62   postal_code varchar(10),
     63   constraint pk_customer primary key (cust_id)
     64  );
     65 
     66 create table individual
     67  (cust_id integer unsigned not null,
     68   fname varchar(30) not null,
     69   lname varchar(30) not null,
     70   birth_date date,
     71   constraint fk_i_cust_id foreign key (cust_id)
     72     references customer (cust_id),
     73   constraint pk_individual primary key (cust_id)
     74  );
     75 
     76 create table business
     77  (cust_id integer unsigned not null,
     78   name varchar(40) not null,
     79   state_id varchar(10) not null,
     80   incorp_date date,
     81   constraint fk_b_cust_id foreign key (cust_id)
     82     references customer (cust_id),
     83   constraint pk_business primary key (cust_id)
     84  );
     85 
     86 create table officer
     87  (officer_id smallint unsigned not null auto_increment,
     88   cust_id integer unsigned not null,
     89   fname varchar(30) not null,
     90   lname varchar(30) not null,
     91   title varchar(20),
     92   start_date date not null,
     93   end_date date,
     94   constraint fk_o_cust_id foreign key (cust_id)
     95     references business (cust_id),
     96   constraint pk_officer primary key (officer_id)
     97  );
     98 
     99 create table account
    100  (account_id integer unsigned not null auto_increment,
    101   product_cd varchar(10) not null,
    102   cust_id integer unsigned not null,
    103   open_date date not null,
    104   close_date date,
    105   last_activity_date date,
    106   status enum('ACTIVE','CLOSED','FROZEN'),
    107   open_branch_id smallint unsigned,
    108   open_emp_id smallint unsigned,
    109   avail_balance float(10,2),
    110   pending_balance float(10,2),
    111   constraint fk_product_cd foreign key (product_cd)
    112     references product (product_cd),
    113   constraint fk_a_cust_id foreign key (cust_id)
    114     references customer (cust_id),
    115   constraint fk_a_branch_id foreign key (open_branch_id)
    116     references branch (branch_id),
    117   constraint fk_a_emp_id foreign key (open_emp_id)
    118     references employee (emp_id),
    119   constraint pk_account primary key (account_id)
    120  );
    121 
    122 create table transaction
    123  (txn_id integer unsigned not null auto_increment,
    124   txn_date datetime not null,
    125   account_id integer unsigned not null,
    126   txn_type_cd enum('DBT','CDT'),
    127   amount double(10,2) not null,
    128   teller_emp_id smallint unsigned,
    129   execution_branch_id smallint unsigned,
    130   funds_avail_date datetime,
    131   constraint fk_t_account_id foreign key (account_id)
    132     references account (account_id),
    133   constraint fk_teller_emp_id foreign key (teller_emp_id)
    134     references employee (emp_id),
    135   constraint fk_exec_branch_id foreign key (execution_branch_id)
    136     references branch (branch_id),
    137   constraint pk_transaction primary key (txn_id)
    138  );
    139 
    140 /* end table creation */
    141 
    142 /* begin data population */
    143 
    144 /* department data */
    145 insert into department (dept_id, name)
    146 values (null, 'Operations');
    147 insert into department (dept_id, name)
    148 values (null, 'Loans');
    149 insert into department (dept_id, name)
    150 values (null, 'Administration');
    151 
    152 /* branch data */
    153 insert into branch (branch_id, name, address, city, state, zip)
    154 values (null, 'Headquarters', '3882 Main St.', 'Waltham', 'MA', '02451');
    155 insert into branch (branch_id, name, address, city, state, zip)
    156 values (null, 'Woburn Branch', '422 Maple St.', 'Woburn', 'MA', '01801');
    157 insert into branch (branch_id, name, address, city, state, zip)
    158 values (null, 'Quincy Branch', '125 Presidential Way', 'Quincy', 'MA', '02169');
    159 insert into branch (branch_id, name, address, city, state, zip)
    160 values (null, 'So. NH Branch', '378 Maynard Ln.', 'Salem', 'NH', '03079');
    161 
    162 /* employee data */
    163 insert into employee (emp_id, fname, lname, start_date, 
    164   dept_id, title, assigned_branch_id)
    165 values (null, 'Michael', 'Smith', '2001-06-22', 
    166   (select dept_id from department where name = 'Administration'), 
    167   'President', 
    168   (select branch_id from branch where name = 'Headquarters'));
    169 insert into employee (emp_id, fname, lname, start_date, 
    170   dept_id, title, assigned_branch_id)
    171 values (null, 'Susan', 'Barker', '2002-09-12', 
    172   (select dept_id from department where name = 'Administration'), 
    173   'Vice President', 
    174   (select branch_id from branch where name = 'Headquarters'));
    175 insert into employee (emp_id, fname, lname, start_date, 
    176   dept_id, title, assigned_branch_id)
    177 values (null, 'Robert', 'Tyler', '2000-02-09',
    178   (select dept_id from department where name = 'Administration'), 
    179   'Treasurer', 
    180   (select branch_id from branch where name = 'Headquarters'));
    181 insert into employee (emp_id, fname, lname, start_date, 
    182   dept_id, title, assigned_branch_id)
    183 values (null, 'Susan', 'Hawthorne', '2002-04-24', 
    184   (select dept_id from department where name = 'Operations'), 
    185   'Operations Manager', 
    186   (select branch_id from branch where name = 'Headquarters'));
    187 insert into employee (emp_id, fname, lname, start_date, 
    188   dept_id, title, assigned_branch_id)
    189 values (null, 'John', 'Gooding', '2003-11-14', 
    190   (select dept_id from department where name = 'Loans'), 
    191   'Loan Manager', 
    192   (select branch_id from branch where name = 'Headquarters'));
    193 insert into employee (emp_id, fname, lname, start_date, 
    194   dept_id, title, assigned_branch_id)
    195 values (null, 'Helen', 'Fleming', '2004-03-17', 
    196   (select dept_id from department where name = 'Operations'), 
    197   'Head Teller', 
    198   (select branch_id from branch where name = 'Headquarters'));
    199 insert into employee (emp_id, fname, lname, start_date, 
    200   dept_id, title, assigned_branch_id)
    201 values (null, 'Chris', 'Tucker', '2004-09-15', 
    202   (select dept_id from department where name = 'Operations'), 
    203   'Teller', 
    204   (select branch_id from branch where name = 'Headquarters'));
    205 insert into employee (emp_id, fname, lname, start_date, 
    206   dept_id, title, assigned_branch_id)
    207 values (null, 'Sarah', 'Parker', '2002-12-02', 
    208   (select dept_id from department where name = 'Operations'), 
    209   'Teller', 
    210   (select branch_id from branch where name = 'Headquarters'));
    211 insert into employee (emp_id, fname, lname, start_date, 
    212   dept_id, title, assigned_branch_id)
    213 values (null, 'Jane', 'Grossman', '2002-05-03', 
    214   (select dept_id from department where name = 'Operations'), 
    215   'Teller', 
    216   (select branch_id from branch where name = 'Headquarters'));
    217 insert into employee (emp_id, fname, lname, start_date, 
    218   dept_id, title, assigned_branch_id)
    219 values (null, 'Paula', 'Roberts', '2002-07-27', 
    220   (select dept_id from department where name = 'Operations'), 
    221   'Head Teller', 
    222   (select branch_id from branch where name = 'Woburn Branch'));
    223 insert into employee (emp_id, fname, lname, start_date, 
    224   dept_id, title, assigned_branch_id)
    225 values (null, 'Thomas', 'Ziegler', '2000-10-23', 
    226   (select dept_id from department where name = 'Operations'), 
    227   'Teller', 
    228   (select branch_id from branch where name = 'Woburn Branch'));
    229 insert into employee (emp_id, fname, lname, start_date, 
    230   dept_id, title, assigned_branch_id)
    231 values (null, 'Samantha', 'Jameson', '2003-01-08', 
    232   (select dept_id from department where name = 'Operations'), 
    233   'Teller', 
    234   (select branch_id from branch where name = 'Woburn Branch'));
    235 insert into employee (emp_id, fname, lname, start_date, 
    236   dept_id, title, assigned_branch_id)
    237 values (null, 'John', 'Blake', '2000-05-11', 
    238   (select dept_id from department where name = 'Operations'), 
    239   'Head Teller', 
    240   (select branch_id from branch where name = 'Quincy Branch'));
    241 insert into employee (emp_id, fname, lname, start_date, 
    242   dept_id, title, assigned_branch_id)
    243 values (null, 'Cindy', 'Mason', '2002-08-09', 
    244   (select dept_id from department where name = 'Operations'), 
    245   'Teller', 
    246   (select branch_id from branch where name = 'Quincy Branch'));
    247 insert into employee (emp_id, fname, lname, start_date, 
    248   dept_id, title, assigned_branch_id)
    249 values (null, 'Frank', 'Portman', '2003-04-01', 
    250   (select dept_id from department where name = 'Operations'), 
    251   'Teller', 
    252   (select branch_id from branch where name = 'Quincy Branch'));
    253 insert into employee (emp_id, fname, lname, start_date, 
    254   dept_id, title, assigned_branch_id)
    255 values (null, 'Theresa', 'Markham', '2001-03-15', 
    256   (select dept_id from department where name = 'Operations'), 
    257   'Head Teller', 
    258   (select branch_id from branch where name = 'So. NH Branch'));
    259 insert into employee (emp_id, fname, lname, start_date, 
    260   dept_id, title, assigned_branch_id)
    261 values (null, 'Beth', 'Fowler', '2002-06-29', 
    262   (select dept_id from department where name = 'Operations'), 
    263   'Teller', 
    264   (select branch_id from branch where name = 'So. NH Branch'));
    265 insert into employee (emp_id, fname, lname, start_date, 
    266   dept_id, title, assigned_branch_id)
    267 values (null, 'Rick', 'Tulman', '2002-12-12', 
    268   (select dept_id from department where name = 'Operations'), 
    269   'Teller', 
    270   (select branch_id from branch where name = 'So. NH Branch'));
    271 
    272 /* create data for self-referencing foreign key 'superior_emp_id' */
    273 create temporary table emp_tmp as
    274 select emp_id, fname, lname from employee;
    275 
    276 update employee set superior_emp_id =
    277  (select emp_id from emp_tmp where lname = 'Smith' and fname = 'Michael')
    278 where ((lname = 'Barker' and fname = 'Susan')
    279   or (lname = 'Tyler' and fname = 'Robert'));
    280 update employee set superior_emp_id =
    281  (select emp_id from emp_tmp where lname = 'Tyler' and fname = 'Robert')
    282 where lname = 'Hawthorne' and fname = 'Susan';
    283 update employee set superior_emp_id =
    284  (select emp_id from emp_tmp where lname = 'Hawthorne' and fname = 'Susan')
    285 where ((lname = 'Gooding' and fname = 'John')
    286   or (lname = 'Fleming' and fname = 'Helen')
    287   or (lname = 'Roberts' and fname = 'Paula') 
    288   or (lname = 'Blake' and fname = 'John') 
    289   or (lname = 'Markham' and fname = 'Theresa')); 
    290 update employee set superior_emp_id =
    291  (select emp_id from emp_tmp where lname = 'Fleming' and fname = 'Helen')
    292 where ((lname = 'Tucker' and fname = 'Chris') 
    293   or (lname = 'Parker' and fname = 'Sarah') 
    294   or (lname = 'Grossman' and fname = 'Jane'));  
    295 update employee set superior_emp_id =
    296  (select emp_id from emp_tmp where lname = 'Roberts' and fname = 'Paula')
    297 where ((lname = 'Ziegler' and fname = 'Thomas')  
    298   or (lname = 'Jameson' and fname = 'Samantha'));   
    299 update employee set superior_emp_id =
    300  (select emp_id from emp_tmp where lname = 'Blake' and fname = 'John')
    301 where ((lname = 'Mason' and fname = 'Cindy')   
    302   or (lname = 'Portman' and fname = 'Frank'));    
    303 update employee set superior_emp_id =
    304  (select emp_id from emp_tmp where lname = 'Markham' and fname = 'Theresa')
    305 where ((lname = 'Fowler' and fname = 'Beth')   
    306   or (lname = 'Tulman' and fname = 'Rick'));    
    307 
    308 drop table emp_tmp;
    309 
    310 /* product type data */
    311 insert into product_type (product_type_cd, name)
    312 values ('ACCOUNT','Customer Accounts');
    313 insert into product_type (product_type_cd, name)
    314 values ('LOAN','Individual and Business Loans');
    315 insert into product_type (product_type_cd, name)
    316 values ('INSURANCE','Insurance Offerings');
    317 
    318 /* product data */
    319 insert into product (product_cd, name, product_type_cd, date_offered)
    320 values ('CHK','checking account','ACCOUNT','2000-01-01');
    321 insert into product (product_cd, name, product_type_cd, date_offered)
    322 values ('SAV','savings account','ACCOUNT','2000-01-01');
    323 insert into product (product_cd, name, product_type_cd, date_offered)
    324 values ('MM','money market account','ACCOUNT','2000-01-01');
    325 insert into product (product_cd, name, product_type_cd, date_offered)
    326 values ('CD','certificate of deposit','ACCOUNT','2000-01-01');
    327 insert into product (product_cd, name, product_type_cd, date_offered)
    328 values ('MRT','home mortgage','LOAN','2000-01-01');
    329 insert into product (product_cd, name, product_type_cd, date_offered)
    330 values ('AUT','auto loan','LOAN','2000-01-01');
    331 insert into product (product_cd, name, product_type_cd, date_offered)
    332 values ('BUS','business line of credit','LOAN','2000-01-01');
    333 insert into product (product_cd, name, product_type_cd, date_offered)
    334 values ('SBL','small business loan','LOAN','2000-01-01');
    335 
    336 /* residential customer data */
    337 insert into customer (cust_id, fed_id, cust_type_cd,
    338   address, city, state, postal_code)
    339 values (null, '111-11-1111', 'I', '47 Mockingbird Ln', 'Lynnfield', 'MA', '01940');
    340 insert into individual (cust_id, fname, lname, birth_date)
    341 select cust_id, 'James', 'Hadley', '1972-04-22' from customer
    342 where fed_id = '111-11-1111';
    343 insert into customer (cust_id, fed_id, cust_type_cd,
    344   address, city, state, postal_code)
    345 values (null, '222-22-2222', 'I', '372 Clearwater Blvd', 'Woburn', 'MA', '01801');
    346 insert into individual (cust_id, fname, lname, birth_date)
    347 select cust_id, 'Susan', 'Tingley', '1968-08-15' from customer
    348 where fed_id = '222-22-2222';
    349 insert into customer (cust_id, fed_id, cust_type_cd,
    350   address, city, state, postal_code)
    351 values (null, '333-33-3333', 'I', '18 Jessup Rd', 'Quincy', 'MA', '02169');
    352 insert into individual (cust_id, fname, lname, birth_date)
    353 select cust_id, 'Frank', 'Tucker', '1958-02-06' from customer
    354 where fed_id = '333-33-3333';
    355 insert into customer (cust_id, fed_id, cust_type_cd,
    356   address, city, state, postal_code)
    357 values (null, '444-44-4444', 'I', '12 Buchanan Ln', 'Waltham', 'MA', '02451');
    358 insert into individual (cust_id, fname, lname, birth_date)
    359 select cust_id, 'John', 'Hayward', '1966-12-22' from customer
    360 where fed_id = '444-44-4444';
    361 insert into customer (cust_id, fed_id, cust_type_cd,
    362   address, city, state, postal_code)
    363 values (null, '555-55-5555', 'I', '2341 Main St', 'Salem', 'NH', '03079');
    364 insert into individual (cust_id, fname, lname, birth_date)
    365 select cust_id, 'Charles', 'Frasier', '1971-08-25' from customer
    366 where fed_id = '555-55-5555';
    367 insert into customer (cust_id, fed_id, cust_type_cd,
    368   address, city, state, postal_code)
    369 values (null, '666-66-6666', 'I', '12 Blaylock Ln', 'Waltham', 'MA', '02451');
    370 insert into individual (cust_id, fname, lname, birth_date)
    371 select cust_id, 'John', 'Spencer', '1962-09-14' from customer
    372 where fed_id = '666-66-6666';
    373 insert into customer (cust_id, fed_id, cust_type_cd,
    374   address, city, state, postal_code)
    375 values (null, '777-77-7777', 'I', '29 Admiral Ln', 'Wilmington', 'MA', '01887');
    376 insert into individual (cust_id, fname, lname, birth_date)
    377 select cust_id, 'Margaret', 'Young', '1947-03-19' from customer
    378 where fed_id = '777-77-7777';
    379 insert into customer (cust_id, fed_id, cust_type_cd,
    380   address, city, state, postal_code)
    381 values (null, '888-88-8888', 'I', '472 Freedom Rd', 'Salem', 'NH', '03079');
    382 insert into individual (cust_id, fname, lname, birth_date)
    383 select cust_id, 'Louis', 'Blake', '1977-07-01' from customer
    384 where fed_id = '888-88-8888';
    385 insert into customer (cust_id, fed_id, cust_type_cd,
    386   address, city, state, postal_code)
    387 values (null, '999-99-9999', 'I', '29 Maple St', 'Newton', 'MA', '02458');
    388 insert into individual (cust_id, fname, lname, birth_date)
    389 select cust_id, 'Richard', 'Farley', '1968-06-16' from customer
    390 where fed_id = '999-99-9999';
    391 
    392 /* corporate customer data */
    393 insert into customer (cust_id, fed_id, cust_type_cd,
    394   address, city, state, postal_code)
    395 values (null, '04-1111111', 'B', '7 Industrial Way', 'Salem', 'NH', '03079');
    396 insert into business (cust_id, name, state_id, incorp_date)
    397 select cust_id, 'Chilton Engineering', '12-345-678', '1995-05-01' from customer
    398 where fed_id = '04-1111111';
    399 insert into officer (officer_id, cust_id, fname, lname,
    400   title, start_date)
    401 select null, cust_id, 'John', 'Chilton', 'President', '1995-05-01'
    402 from customer
    403 where fed_id = '04-1111111';
    404 insert into customer (cust_id, fed_id, cust_type_cd,
    405   address, city, state, postal_code)
    406 values (null, '04-2222222', 'B', '287A Corporate Ave', 'Wilmington', 'MA', '01887');
    407 insert into business (cust_id, name, state_id, incorp_date)
    408 select cust_id, 'Northeast Cooling Inc.', '23-456-789', '2001-01-01' from customer
    409 where fed_id = '04-2222222';
    410 insert into officer (officer_id, cust_id, fname, lname,
    411   title, start_date)
    412 select null, cust_id, 'Paul', 'Hardy', 'President', '2001-01-01'
    413 from customer
    414 where fed_id = '04-2222222';
    415 insert into customer (cust_id, fed_id, cust_type_cd,
    416   address, city, state, postal_code)
    417 values (null, '04-3333333', 'B', '789 Main St', 'Salem', 'NH', '03079');
    418 insert into business (cust_id, name, state_id, incorp_date)
    419 select cust_id, 'Superior Auto Body', '34-567-890', '2002-06-30' from customer
    420 where fed_id = '04-3333333';
    421 insert into officer (officer_id, cust_id, fname, lname,
    422   title, start_date)
    423 select null, cust_id, 'Carl', 'Lutz', 'President', '2002-06-30'
    424 from customer
    425 where fed_id = '04-3333333';
    426 insert into customer (cust_id, fed_id, cust_type_cd,
    427   address, city, state, postal_code)
    428 values (null, '04-4444444', 'B', '4772 Presidential Way', 'Quincy', 'MA', '02169');
    429 insert into business (cust_id, name, state_id, incorp_date)
    430 select cust_id, 'AAA Insurance Inc.', '45-678-901', '1999-05-01' from customer
    431 where fed_id = '04-4444444';
    432 insert into officer (officer_id, cust_id, fname, lname,
    433   title, start_date)
    434 select null, cust_id, 'Stanley', 'Cheswick', 'President', '1999-05-01'
    435 from customer
    436 where fed_id = '04-4444444';
    437 
    438 /* residential account data */
    439 insert into account (account_id, product_cd, cust_id, open_date,
    440   last_activity_date, status, open_branch_id,
    441   open_emp_id, avail_balance, pending_balance)
    442 select null, a.prod_cd, c.cust_id, a.open_date, a.last_date, 'ACTIVE',
    443   e.branch_id, e.emp_id, a.avail, a.pend
    444 from customer c cross join 
    445  (select b.branch_id, e.emp_id 
    446   from branch b inner join employee e on e.assigned_branch_id = b.branch_id
    447   where b.city = 'Woburn' limit 1) e
    448   cross join
    449  (select 'CHK' prod_cd, '2000-01-15' open_date, '2005-01-04' last_date,
    450     1057.75 avail, 1057.75 pend union all
    451   select 'SAV' prod_cd, '2000-01-15' open_date, '2004-12-19' last_date,
    452     500.00 avail, 500.00 pend union all
    453   select 'CD' prod_cd, '2004-06-30' open_date, '2004-06-30' last_date,
    454     3000.00 avail, 3000.00 pend) a
    455 where c.fed_id = '111-11-1111';
    456 insert into account (account_id, product_cd, cust_id, open_date,
    457   last_activity_date, status, open_branch_id,
    458   open_emp_id, avail_balance, pending_balance)
    459 select null, a.prod_cd, c.cust_id, a.open_date, a.last_date, 'ACTIVE',
    460   e.branch_id, e.emp_id, a.avail, a.pend
    461 from customer c cross join 
    462  (select b.branch_id, e.emp_id 
    463   from branch b inner join employee e on e.assigned_branch_id = b.branch_id
    464   where b.city = 'Woburn' limit 1) e
    465   cross join
    466  (select 'CHK' prod_cd, '2001-03-12' open_date, '2004-12-27' last_date,
    467     2258.02 avail, 2258.02 pend union all
    468   select 'SAV' prod_cd, '2001-03-12' open_date, '2004-12-11' last_date,
    469     200.00 avail, 200.00 pend) a
    470 where c.fed_id = '222-22-2222';
    471 insert into account (account_id, product_cd, cust_id, open_date,
    472   last_activity_date, status, open_branch_id,
    473   open_emp_id, avail_balance, pending_balance)
    474 select null, a.prod_cd, c.cust_id, a.open_date, a.last_date, 'ACTIVE',
    475   e.branch_id, e.emp_id, a.avail, a.pend
    476 from customer c cross join 
    477  (select b.branch_id, e.emp_id 
    478   from branch b inner join employee e on e.assigned_branch_id = b.branch_id
    479   where b.city = 'Quincy' limit 1) e
    480   cross join
    481  (select 'CHK' prod_cd, '2002-11-23' open_date, '2004-11-30' last_date,
    482     1057.75 avail, 1057.75 pend union all
    483   select 'MM' prod_cd, '2002-12-15' open_date, '2004-12-05' last_date,
    484     2212.50 avail, 2212.50 pend) a
    485 where c.fed_id = '333-33-3333';
    486 insert into account (account_id, product_cd, cust_id, open_date,
    487   last_activity_date, status, open_branch_id,
    488   open_emp_id, avail_balance, pending_balance)
    489 select null, a.prod_cd, c.cust_id, a.open_date, a.last_date, 'ACTIVE',
    490   e.branch_id, e.emp_id, a.avail, a.pend
    491 from customer c cross join 
    492  (select b.branch_id, e.emp_id 
    493   from branch b inner join employee e on e.assigned_branch_id = b.branch_id
    494   where b.city = 'Waltham' limit 1) e
    495   cross join
    496  (select 'CHK' prod_cd, '2003-09-12' open_date, '2005-01-03' last_date,
    497     534.12 avail, 534.12 pend union all
    498   select 'SAV' prod_cd, '2000-01-15' open_date, '2004-10-24' last_date,
    499     767.77 avail, 767.77 pend union all
    500   select 'MM' prod_cd, '2004-09-30' open_date, '2004-11-11' last_date,
    501     5487.09 avail, 5487.09 pend) a
    502 where c.fed_id = '444-44-4444';
    503 insert into account (account_id, product_cd, cust_id, open_date,
    504   last_activity_date, status, open_branch_id,
    505   open_emp_id, avail_balance, pending_balance)
    506 select null, a.prod_cd, c.cust_id, a.open_date, a.last_date, 'ACTIVE',
    507   e.branch_id, e.emp_id, a.avail, a.pend
    508 from customer c cross join 
    509  (select b.branch_id, e.emp_id 
    510   from branch b inner join employee e on e.assigned_branch_id = b.branch_id
    511   where b.city = 'Salem' limit 1) e
    512   cross join
    513  (select 'CHK' prod_cd, '2004-01-27' open_date, '2005-01-05' last_date,
    514     2237.97 avail, 2897.97 pend) a
    515 where c.fed_id = '555-55-5555';
    516 insert into account (account_id, product_cd, cust_id, open_date,
    517   last_activity_date, status, open_branch_id,
    518   open_emp_id, avail_balance, pending_balance)
    519 select null, a.prod_cd, c.cust_id, a.open_date, a.last_date, 'ACTIVE',
    520   e.branch_id, e.emp_id, a.avail, a.pend
    521 from customer c cross join 
    522  (select b.branch_id, e.emp_id 
    523   from branch b inner join employee e on e.assigned_branch_id = b.branch_id
    524   where b.city = 'Waltham' limit 1) e
    525   cross join
    526  (select 'CHK' prod_cd, '2002-08-24' open_date, '2004-11-29' last_date,
    527     122.37 avail, 122.37 pend union all
    528   select 'CD' prod_cd, '2004-12-28' open_date, '2004-12-28' last_date,
    529     10000.00 avail, 10000.00 pend) a
    530 where c.fed_id = '666-66-6666';
    531 insert into account (account_id, product_cd, cust_id, open_date,
    532   last_activity_date, status, open_branch_id,
    533   open_emp_id, avail_balance, pending_balance)
    534 select null, a.prod_cd, c.cust_id, a.open_date, a.last_date, 'ACTIVE',
    535   e.branch_id, e.emp_id, a.avail, a.pend
    536 from customer c cross join 
    537  (select b.branch_id, e.emp_id 
    538   from branch b inner join employee e on e.assigned_branch_id = b.branch_id
    539   where b.city = 'Woburn' limit 1) e
    540   cross join
    541  (select 'CD' prod_cd, '2004-01-12' open_date, '2004-01-12' last_date,
    542     5000.00 avail, 5000.00 pend) a
    543 where c.fed_id = '777-77-7777';
    544 insert into account (account_id, product_cd, cust_id, open_date,
    545   last_activity_date, status, open_branch_id,
    546   open_emp_id, avail_balance, pending_balance)
    547 select null, a.prod_cd, c.cust_id, a.open_date, a.last_date, 'ACTIVE',
    548   e.branch_id, e.emp_id, a.avail, a.pend
    549 from customer c cross join 
    550  (select b.branch_id, e.emp_id 
    551   from branch b inner join employee e on e.assigned_branch_id = b.branch_id
    552   where b.city = 'Salem' limit 1) e
    553   cross join
    554  (select 'CHK' prod_cd, '2001-05-23' open_date, '2005-01-03' last_date,
    555     3487.19 avail, 3487.19 pend union all
    556   select 'SAV' prod_cd, '2001-05-23' open_date, '2004-10-12' last_date,
    557     387.99 avail, 387.99 pend) a
    558 where c.fed_id = '888-88-8888';
    559 insert into account (account_id, product_cd, cust_id, open_date,
    560   last_activity_date, status, open_branch_id,
    561   open_emp_id, avail_balance, pending_balance)
    562 select null, a.prod_cd, c.cust_id, a.open_date, a.last_date, 'ACTIVE',
    563   e.branch_id, e.emp_id, a.avail, a.pend
    564 from customer c cross join 
    565  (select b.branch_id, e.emp_id 
    566   from branch b inner join employee e on e.assigned_branch_id = b.branch_id
    567   where b.city = 'Waltham' limit 1) e
    568   cross join
    569  (select 'CHK' prod_cd, '2003-07-30' open_date, '2004-12-15' last_date,
    570     125.67 avail, 125.67 pend union all
    571   select 'MM' prod_cd, '2004-10-28' open_date, '2004-10-28' last_date,
    572     9345.55 avail, 9845.55 pend union all
    573   select 'CD' prod_cd, '2004-06-30' open_date, '2004-06-30' last_date,
    574     1500.00 avail, 1500.00 pend) a
    575 where c.fed_id = '999-99-9999';
    576 
    577 /* corporate account data */
    578 insert into account (account_id, product_cd, cust_id, open_date,
    579   last_activity_date, status, open_branch_id,
    580   open_emp_id, avail_balance, pending_balance)
    581 select null, a.prod_cd, c.cust_id, a.open_date, a.last_date, 'ACTIVE',
    582   e.branch_id, e.emp_id, a.avail, a.pend
    583 from customer c cross join 
    584  (select b.branch_id, e.emp_id 
    585   from branch b inner join employee e on e.assigned_branch_id = b.branch_id
    586   where b.city = 'Salem' limit 1) e
    587   cross join
    588  (select 'CHK' prod_cd, '2002-09-30' open_date, '2004-12-15' last_date,
    589     23575.12 avail, 23575.12 pend union all
    590   select 'BUS' prod_cd, '2002-10-01' open_date, '2004-08-28' last_date,
    591     0 avail, 0 pend) a
    592 where c.fed_id = '04-1111111';
    593 insert into account (account_id, product_cd, cust_id, open_date,
    594   last_activity_date, status, open_branch_id,
    595   open_emp_id, avail_balance, pending_balance)
    596 select null, a.prod_cd, c.cust_id, a.open_date, a.last_date, 'ACTIVE',
    597   e.branch_id, e.emp_id, a.avail, a.pend
    598 from customer c cross join 
    599  (select b.branch_id, e.emp_id 
    600   from branch b inner join employee e on e.assigned_branch_id = b.branch_id
    601   where b.city = 'Woburn' limit 1) e
    602   cross join
    603  (select 'BUS' prod_cd, '2004-03-22' open_date, '2004-11-14' last_date,
    604     9345.55 avail, 9345.55 pend) a
    605 where c.fed_id = '04-2222222';
    606 insert into account (account_id, product_cd, cust_id, open_date,
    607   last_activity_date, status, open_branch_id,
    608   open_emp_id, avail_balance, pending_balance)
    609 select null, a.prod_cd, c.cust_id, a.open_date, a.last_date, 'ACTIVE',
    610   e.branch_id, e.emp_id, a.avail, a.pend
    611 from customer c cross join 
    612  (select b.branch_id, e.emp_id 
    613   from branch b inner join employee e on e.assigned_branch_id = b.branch_id
    614   where b.city = 'Salem' limit 1) e
    615   cross join
    616  (select 'CHK' prod_cd, '2003-07-30' open_date, '2004-12-15' last_date,
    617     38552.05 avail, 38552.05 pend) a
    618 where c.fed_id = '04-3333333';
    619 insert into account (account_id, product_cd, cust_id, open_date,
    620   last_activity_date, status, open_branch_id,
    621   open_emp_id, avail_balance, pending_balance)
    622 select null, a.prod_cd, c.cust_id, a.open_date, a.last_date, 'ACTIVE',
    623   e.branch_id, e.emp_id, a.avail, a.pend
    624 from customer c cross join 
    625  (select b.branch_id, e.emp_id 
    626   from branch b inner join employee e on e.assigned_branch_id = b.branch_id
    627   where b.city = 'Quincy' limit 1) e
    628   cross join
    629  (select 'SBL' prod_cd, '2004-02-22' open_date, '2004-12-17' last_date,
    630     50000.00 avail, 50000.00 pend) a
    631 where c.fed_id = '04-4444444';
    632 
    633 /* put $100 in all checking/savings accounts on date account opened */
    634 insert into transaction (txn_id, txn_date, account_id, txn_type_cd,
    635   amount, funds_avail_date)
    636 select null, a.open_date, a.account_id, 'CDT', 100, a.open_date
    637 from account a
    638 where a.product_cd IN ('CHK','SAV','CD','MM');
    639 
    640 /* end data population */
  • 相关阅读:
    SqlBulkCopy类进行大数据(10000万条以上)插入测试
    win7 64位下android开发环境的搭建
    Linq语法详细
    理解ASP.NET MVC中的ActionResult
    webBrowser 模拟登录
    C#中的WebBrowser控件的使用
    httpwebrequest详解【转】
    Post方式调用wcf服务
    EXTJS4.2 控件之Grid getRowClass 添加行背景色
    SQL 跨服务器数据库增、删、改、查(二)
  • 原文地址:https://www.cnblogs.com/starsea/p/5411087.html
Copyright © 2011-2022 走看看