今天讲讲MySQL的东西,MySQL的东西需要从直接的需求讲,下面就以几张表开始讲。另外要注意一点的是,MySQL和Oracle差不多,语句几乎一样,区别不大。
我们需要用到三张表,一张EMP表,一张DEPT表,一张salgrade表
建EMP表:
CREATE TABLE IF NOT EXISTS `EMP`(
`EMPNO` INT UNSIGNED AUTO_INCREMENT,
`ENAME` VARCHAR(100) NOT NULL,
`JOB` VARCHAR(40) NOT NULL,
`MGR` INT(40) NOT NULL,
`HIRE-DATE` DATE,
`SAL` VARCHAR(40) NOT NULL,
`COMM` VARCHAR(40) ,
`DEPTNO` VARCHAR(40) NOT NULL,
PRIMARY KEY ( `EMPNO` )
)ENGINE=INNODB DEFAULT CHARSET=utf8;
现在表里面是没数据的,我们适量的插入一些数据:
INSERT INTO emp(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)
VALUES (1001,'james','CLERK',2001,STR_TO_DATE('1980/12/17','%Y/%m/%d'),'800','100',20);
在继续DEPT表:
CREATE TABLE IF NOT EXISTS `dept`(
`DEPTNO` INT UNSIGNED AUTO_INCREMENT,
`DNAME` VARBINARY(50) NOT NULL,
`LOC` VARBINARY(30) NOT NULL,
PRIMARY KEY(`DEPTNO`)
)ENGINE=INNODB DEFAULT CHARSET=utf8;
插入数据:
INSERT INTO dept(DEPTNO,DNAME,LOC)
VALUES(10,'ACCOUNTING','SHANGHAI');
INSERT INTO dept(DEPTNO,DNAME,LOC)
VALUES(20,'RESEARCH','BEIJING');
INSERT INTO dept(DEPTNO,DNAME,LOC)
VALUES (30,'SALES','ANHUI');
INSERT INTO dept(DEPTNO,DNAME,LOC)
VALUES (40,'OPERATIONS','NANJING');
salgrade表:
CREATE TABLE IF NOT EXISTS `salgrade`(
`GRADE` INT UNSIGNED AUTO_INCREMENT,
`LOSAL` VARBINARY(50) NOT NULL,
`HISAL` VARBINARY(30) NOT NULL,
PRIMARY KEY(`GRADE`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
插入数据:
INSERT INTO salgrade(GRADE,LOSAL,HISAL)
VALUES (1,'700','1200');
INSERT INTO salgrade(LOSAL,HISAL)
VALUES('1201','1400');
今天先建好表,明天再继续。特别要值得注意的一件事是,如果建表的时候某个字段是非空的情况下,在插入的时候,field属性不写,然后下面的vlaue值也不给的情况下,mysql会报警告,这个一定要注意。
文章转载自java小哥,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。