1. 程式人生 > >java面試題06

java面試題06

char pri 姓名 創建數據庫 not into bigint color 建數據庫

題目:

數據庫

1、 表名:g_cardapply

字段(字段名/類型/長度):

g_applyno varchar 8;//申請單號(關鍵字)

g_applydate bigint 8;//申請日期

g_state varchar 2;//申請狀態

2、 表名:g_cardapplydetail

字段(字段名/類型/長度):

g_applyno varchar 8;//申請單號(關鍵字)

g_name varchar 30;//申請人姓名

g_idcard varchar 18;//申請人身份證號

g_state varchar 2;//申請狀態

其中,兩個表的關聯字段為申請單號。

01、 查詢身份證號碼為440401430103082的申請日期

02、 查詢同一個身份證號碼有兩條以上記錄的身份證號碼及記錄個數

03、 將身份證號碼為440401430103082的記錄在兩個表中的申請狀態均改為07

04.從表g_cardapplydetail中刪除姓李的記錄

創建數據庫和數據表

CREATE DATABASE IF NOT EXISTS exam

USE exam

CREATE TABLE IF NOT EXISTS g_cardapply(
g_applyno INT(8) PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT ‘申請單號‘,
g_applydate DATE COMMENT ‘申請日期‘,
g_state VARCHAR(2) COMMENT ‘申請狀態‘
)CHARSET=‘utf8‘ ENGINE=INNODB;

CREATE TABLE IF NOT EXISTS g_cardapplydetail(
g_applyno INT(8) NOT NULL COMMENT ‘申請單號‘,
g_name VARCHAR(20) COMMENT ‘申請人姓名‘,
g_idcard VARCHAR(20) COMMENT ‘申請人身份證號‘,
g_state VARCHAR(10) COMMENT ‘申請狀態‘
)CHARSET=‘utf8‘ ENGINE=INNODB;

ALTER TABLE g_cardapplydetail ADD CONSTRAINT foreign_cardapplydetail_cardapply FOREIGN KEY (g_applyno) REFERENCES g_cardapply (g_applyno)

INSERT INTO g_cardapply VALUES(1,‘2017-10-22‘,0);
INSERT INTO g_cardapply VALUES(2,‘2017-10-23‘,1);
INSERT INTO g_cardapply VALUES(3,‘2017-10-25‘,1);
INSERT INTO g_cardapply VALUES(4,‘2017-10-27‘,0);
INSERT INTO g_cardapply VALUES(5,‘2017-10-28‘,1);
INSERT INTO g_cardapply VALUES(6,‘2017-10-21‘,1);

INSERT INTO g_cardapplydetail VALUES(1,‘xiaohei1‘,‘11111111‘,0);
INSERT INTO g_cardapplydetail VALUES(2,‘xiaohei2‘,‘22222222‘,1);
INSERT INTO g_cardapplydetail VALUES(3,‘xiaohei3‘,‘33333333‘,1);
INSERT INTO g_cardapplydetail VALUES(4,‘xiaohei4‘,‘44444444‘,0);
INSERT INTO g_cardapplydetail VALUES(5,‘xiaohei2‘,‘22222222‘,1);
INSERT INTO g_cardapplydetail VALUES(6,‘xiaohei3‘,‘33333333‘,1);

01.SELECT g_applydate FROM g_cardapply a ,g_cardapplydetail d WHERE g_idcard=‘22222222‘ AND a.g_applyno=d.g_applyno

02.SELECT g_idcard,COUNT(g_idcard) FROM g_cardapplydetailGROUP BY g_idcard HAVING COUNT(g_idcard)>=2

03.#關閉事務自動提交

SET autocommit=0;

BEGIN;
UPDATE g_cardapply SET g_state=‘08‘ WHERE g_applyno IN
(
SELECT g_applyno FROM g_cardapplydetail WHERE g_idcard=‘22222222‘
);
UPDATE g_cardapplydetail SET g_state=‘08‘ WHERE g_idcard=‘22222222‘;
#rollback;
COMMIT;

#再設置成自動提交
SET autocommit=1;

04..DELETE FROM g_cardapplydetail WHERE g_name LIKE ‘李%‘

java面試題06