Mysql 填充临时表
我试图用现有表employee中的4列fname、minit、lname、bdate填充temp表emp_department_1。其中,雇员表中的dno=1。有什么建议吗Mysql 填充临时表,mysql,Mysql,我试图用现有表employee中的4列fname、minit、lname、bdate填充temp表emp_department_1。其中,雇员表中的dno=1。有什么建议吗 mysql> select * from employee; +----------+-------+---------+-----------+------------+--------------------------+------+--------+-----------+-----+ | Fname |
mysql> select * from employee;
+----------+-------+---------+-----------+------------+--------------------------+------+--------+-----------+-----+
| Fname | Minit | Lname | SSN | Bdate | Address | Sex | Salary | Superssn | Dno |
+----------+-------+---------+-----------+------------+--------------------------+------+--------+-----------+-----+
| John | B | Smith | 123456789 | 1955-01-09 | 731 Fondren, Cary, NC | M | 31500 | 333445555 | 5 |
| Franklin | T | Wong | 333445555 | 1945-12-08 | 638 Voss, Cary, NC | M | 42000 | 888665555 | 5 |
| Alicia | J | Zelaya | 999887777 | 1958-07-19 | 3321 Castle, Apex, NC | F | 25000 | 987654321 | 4 |
| Jennifer | S | Wallace | 987654321 | 1931-06-20 | 291 Berry, Garner, NC | F | 43000 | 888665555 | 4 |
| Rameish | K | Naraya | 666884444 | 1952-09-15 | 975 Fire Oak, Angier, NC | M | 39900 | 333445555 | 5 |
| Joyce | A | English | 453453453 | 1962-07-31 | 5631 Rice, Raleigh, NC | F | 26250 | 333445555 | 5 |
| Ahmad | V | Jabbar | 987987987 | 1959-03-29 | 980 Dallas, Cary, NC | M | 25000 | 987654321 | 4 |
| James | E | Borg | 888665555 | 1927-11-10 | 450 Stone, Cary, NC | M | 55000 | NULL | 1 |
+----------+-------+---------+-----------+------------+--------------------------+------+--------+-----------+-----+
James E Borg是唯一一个dno=1的人。您只需要简单地插入到。。。从语句中选择。建议在中列出列,假设emp_department_1中列的顺序与我选择的顺序不完全匹配
查看“插入…”选择语法上的
使现代化
由于这是一个尚未创建的临时表,请使用:
不需要在临时表中定义列类型,但如果需要,也可以创建索引
CREATE TEMPORARY TABLE emp_department_1 (
fname VARCHAR(64) NOT NULL,
minit VARCHAR(64) NULL,
lname VARCHAR(64) NOT NULL,
bdate DATE NOT NULL,
PRIMARY KEY (fname, lname, bdate) /* not that you would actually do this */
) SELECT fname, minit, lname, bdate FROM employee WHERE dno = 1
谢谢michael,我不知道如何清理它。突出显示代码块和ctl-k或单击编辑器中的{}按钮。欢迎使用Stack Overflow。另外,类似SELECT this FROM的内联代码是通过将字符串括在反引号中来完成的。制作大型代码块时,可以缩进4个空格,但缩进的代码块上下必须有空格。ctl-k为你做的。也许我没有提到,但是临时表还没有创建,临时表需要在创建过程中填充。太好了!现在想分享一下如何让我的代码看起来更好,这样我就不会看起来那么糟糕了吗?
CREATE TEMPORARY TABLE emp_department_1
SELECT fname, minit, lname, bdate FROM employee WHERE dno = 1
CREATE TEMPORARY TABLE emp_department_1 (
fname VARCHAR(64) NOT NULL,
minit VARCHAR(64) NULL,
lname VARCHAR(64) NOT NULL,
bdate DATE NOT NULL,
PRIMARY KEY (fname, lname, bdate) /* not that you would actually do this */
) SELECT fname, minit, lname, bdate FROM employee WHERE dno = 1