1.(多選題)關(guān)于SQL和MySQL的說法正確的有哪些()。
- A. SQL全稱Structured Query Language,是MySQL數(shù)據(jù)庫專用的操作語言,其它 RDBMS 無法使用。
- ==B. SQL語句分為四類:DDL、DML、DQL、DCL。==
- ==C. MySQL命令行環(huán)境中,可以使用source命令執(zhí)行一個腳本文件中的所有SQL語句。==
- D. MySQL腳本文件中,可以使用//和/**/兩種注釋。
解析:A 項 RDBMS 是關(guān)系型數(shù)據(jù)庫,MySQL就是關(guān)系型數(shù)據(jù)庫;D項 MySQL 的注釋分為 # 單行注釋 和 /**/ 多行注釋
2.(多選題)假設(shè)員工表emp有eid/ename/salary三列,沒有特別的約束,則下列INSERT語句語法正確的有:()
- A. INSERT INTO emp VALUES(10, 'TOM');
- ==B. INSERT INTO emp(eid,ename) VALUES(20, 'MARY');==
- C. INSERT INTO emp VALUES(30, 40, 50),('JIM','JERRY','JANE'),(7000,8000,9000);
- ==D. INSERT INTO emp VALUES(60, 'TOM', 6000), (70, 'TOM', 7000), (80, 'TOM', 8000);==
解析:A 項中少 salary 列;C 項括號里的值分別為eid/ename/salary三列,不是(eid,eid,eid),(ename,ename,ename),(salary,salary,salary),這樣執(zhí)行是會出錯的
3.(多選題)假設(shè)所需表和列都存在,則下列查詢語句語法及語義錯誤的有:
- A. SELECT * FROM emp ORDER BY salary DESC, ename ASC;
- ==B. SELECT ename AS n salary AS s FROM emp;==
- ==C. SELECT ename FROM emp WHERE 30>eid>10;==
- D. SELECT COUNT(*) FROM emp GROUP BY dept_id;
解析:B 項對列進(jìn)行別名設(shè)置,需要用逗號分隔;C 項中的 eid 不是值得范圍,而是單個的值
4.(單選題)下列語句哪句不屬于DML語句()。
- A. INSERT
- B. DELETE
- C. UPDATE
- ==D. SELECT==
解析:Data Manipulate Language,操作數(shù)據(jù),即增刪改,不包括查詢
5.(多選題)關(guān)于MySQL列約束的下列描述中正確的有()
- A. 主鍵約束會影響表的查找操作執(zhí)行效率,應(yīng)當(dāng)謹(jǐn)慎使用
- ==B. 外鍵約束會影響表的插入操作執(zhí)行效率,應(yīng)當(dāng)謹(jǐn)慎使用==
- C. 一個表可以聲明多個主鍵列
- ==D. 一個表可以聲明多個外鍵列==