有人需要創建一個新的MySQL認證。 周圍唯一的測試是基於MySQL 5.0中,僅僅是大幅度老。
所以...... 甲骨文,Percona的,SkySQL要求所有權和奉獻所有的MySQL DBA和相關認證?
這是一個多部分的博客文章的一部分。
無論如何,請確保您可以在過去的MySQL 5.0中的問題。 下面是一些讓你開始。 這裡的關鍵是要知道為什麼不答案是什麼。
MySQL的技術問題
問題1:
問題6:
下面的語句將導致在0(假)?
- 了。 選擇的“EXPERTRATING”LIKE“進出口%”
+----------------------------+
| "EXPERTRATING" LIKE "EXP%" |
+----------------------------+
| 1 |
+----------------------------+
- 二。 選擇的“EXPERTRATING”LIKE“地契%”
+----------------------------+
| "EXPERTRATING" LIKE "Exp%" |
+----------------------------+
| 1 |
+----------------------------+
- 三。 選擇二進制的“EXPERTRATING”LIKE“進出口%”
+-----------------------------------+
| BINARY "EXPERTRATING" LIKE "EXP%" |
+-----------------------------------+
| 1 |
+-----------------------------------+
- (四) 選擇二進制的 “EXPERTRATING”LIKE“地契%”
+-----------------------------------+
| BINARY "EXPERTRATING" LIKE "Exp%" |
+-----------------------------------+
| 0 |
+-----------------------------------+
- Ë。 所有將導致1(真)
- 看到上面的結果
檢查下面給出的兩個SQL語句:
- 選擇last_name的,工資,HIRE_DATE,員工為了BY工資DESC;
- 選擇姓氏,薪金,僱員ORDER BY 2 DESC HIRE_DATE;
- 一個這兩個語句產生相同的結果 。
- 1:
2844047 rows
- 2:
2844047 rows
- 二。 第二條語句將返回一個錯誤
false is gave back 2844047 rows
- 三。 因為默認情況下,按降序對結果進行排序,沒有必要指定DESC
- 不真正看到例如7-C以下。
- 四。 無上述statments是正確的
- 見上文
CREATE VIEW employees_salary AS
SELECT e.emp_no , e.first_name, e.last_name , e.hire_date , s.salary as salary
FROM employees e
INNER JOIN salaries s ON e.emp_no = s.emp_no;
SELECT last_name, salary, hire_date FROM employees_salary ORDER BY salary DESC ;
+-----------+--------+------------+
| last_name | salary | hire_date |
+-----------+--------+------------+
....
| Kuhnemann | 38786 | 1991-06-07 |
| Unno | 38735 | 1992-09-18 |
| Baek | 38623 | 1994-07-04 |
+------------------+--------+------------+
2844047 rows in set (35.78 sec)
SELECT last_name, salary, hire_date FROM employees_salary ORDER BY 2 DESC ;
+-----------+--------+------------+
| last_name | salary | hire_date |
+-----------+--------+------------+
....
| Kuhnemann | 38786 | 1991-06-07 |
| Unno | 38735 | 1992-09-18 |
| Baek | 38623 | 1994-07-04 |
+------------------+--------+------------+
2844047 rows in set (37.28 sec)
例如7-C
[employees]> SELECT last_name, salary, hire_date FROM employees_salary ORDER BY salary limit 10;
+-----------+--------+------------+
| last_name | salary | hire_date |
+-----------+--------+------------+
| Baek | 38623 | 1994-07-04 |
| Unno | 38735 | 1992-09-18 |
| Kuhnemann | 38786 | 1991-06-07 |
| Narwekar | 38812 | 1993-09-14 |
| Langford | 38836 | 1985-10-21 |
| Kobuchi | 38849 | 1985-05-24 |
| Biran | 38850 | 1993-09-23 |
| Syang | 38851 | 1985-07-23 |
| Unno | 38859 | 1992-09-18 |
| Rohrbach | 38864 | 1992-09-02 |
+-----------+--------+------------+
10 rows in set (27.37 sec)
[employees]> SELECT last_name, salary, hire_date FROM employees_salary ORDER BY salary DESC limit 10;
+-----------+--------+------------+
| last_name | salary | hire_date |
+-----------+--------+------------+
| Pesch | 158220 | 1985-03-26 |
| Pesch | 157821 | 1985-03-26 |
| Mukaidono | 156286 | 1986-08-08 |
| Whitcomb | 155709 | 1985-07-18 |
| Luders | 155513 | 1987-04-15 |
| Alameldin | 155377 | 1985-02-15 |
| Alameldin | 155190 | 1985-02-15 |
| Alameldin | 154888 | 1985-02-15 |
| Alameldin | 154885 | 1985-02-15 |
| Baca | 154459 | 1985-02-26 |
+-----------+--------+------------+
10 rows in set (26.99 sec)
問題8:
檢查下面給出的員工表中的數據:
姓氏DEPARTMENT_ID工資
ALLEN 10 3000
苗20 1500
國王20 2200
戴維斯30日5000
以下哪個子查詢執行呢?
- 了。 SELECT * FROM員工工資>(SELECT MIN(工資)員工集團的department_id);
- ERROR 1242(21000):子查詢返回超過1行
- 二。 SELECT * FROM僱員WHERE工資=(SELECT AVG(工資)FROM僱員GROUP BY部門編號);
- ERROR 1242(21000):子查詢返回超過1行
- 三。 選擇不同的DEPARTMENT_ID員工工資> ANY(SELECT AVG(工資)FROM僱員GROUP BY部門標識);
- 9行
- 四。 SELECT部門標識FROM僱員WHERE工資> ALL(SELECT AVG(工資)FROM僱員GROUP BY部門編號);
- 518789行
- Ë。 選擇部門標識FROM僱員WHERE工資> ALL(SELECT AVG(工資)從員工組AVG(工資));
ERROR 1111 (HY000): Invalid use of group function
你要顯示的標題的書籍,以滿足以下條件:
1。 2002年11月11日之前購買
2。 售價低於$ 500或大於900美元
你想購買之日起 ,開始與最近買的書,對結果進行排序 。 你應該使用下面的語句嗎?
- 了。 價格在500和900之間PURCHASE_DATE選擇BOOK_TITLE從書本<'2002-11-11'ORDER BY PURCHASE_DATE的;
- 500和900 這使得無效
- 二。 價格選擇BOOK_TITLE從書本IN(500,900)和PURCHASE_DATE <'2002-11-11'ORDER購買ASC日期;
- 我們需要2個數值之間的範圍不
- 三。 價格選擇BOOK_TITLE從書本<500> 900 DESC PURCHASE_DATE的;
- 沒有PURCHASE_DATE
- 四。 選擇從哪裡(價格BOOK_TITLE <500或價格> 900)PURCHASE_DATE <'2002-11-11'ORDER BY PURCHASE_DATE DESC;
- 是的,這涵蓋了所有的要求。
哪個查詢數據顯示,從市盈率表有關分析師,文員和推銷員之間加入1/1/2005 1/2/2005?
- 了。 選擇從市盈率joining_date#1/1/2005##1/2/2005#,工作=分析師文員或推銷員
- 無效的#是註釋,從是保留字
- 二。 選擇*從市盈率之間#1/1/2005##1/2/2005#,工作joining_date =分析師或工作=書記或工作=推銷員
- 無效
- 三。 選擇從市盈率之間joining_date 1/1/2005#,#1/2/2005#(工作=分析員或文員或推銷員)
- 無效
- 四。 以上皆非
- 真
REPLACE語句是:
- 了。 INSERT語句一樣
- 近卻無。
- 二。 如插入,除了舊表中的行具有相同的值作為新行PRIMARY KEY或UNIQUE索引,舊的行會刪除,插入新行前
- 三。 有沒有這樣的語句REPLACE
*從訂單ORDERID =(選擇的OrderID OrderItems資料ItemQty> 50)
- 了。 在子查詢中,應,而不是用'*','訂單編號'
- 假
- 二。 子查詢可以返回多個行,因此,'='應該'在更換“
- ERROR 1242(21000):子查詢返回超過1行
- 三。 子查詢不應該在括號
- 假
- 四。 以上皆非
- 假IN語句
下列哪項不是一個有效的位操作 ?
- 一個。
- operator_bitwise
- 二。 &&
- 只有一個離開。
- (三) <<
- operator_left移
- (四) |
- operator_bitwise或
- (五) >>
- operator_right移
InnoDB的 MyISAM表的主要目的是什麼?
- 。 InnoDB是線程安全的
- (二) InnoDB提供安全的交易環境
- “
InnoDB
事務安全(ACID兼容)存儲引擎 “ - 三。 ,InnoDB可以處理表超過1000列
- 四。 InnoDB提供FULLTEXT索引
- Ë。 以上皆非
如果兩個數據庫中的表名為評級和評級,會發生什麼事?
- 了。 如表名是大小寫敏感(評級和評級被視為相同的名稱,這是不可能的)
- 不正確的
- 二。 這是可能的表名是大小寫敏感的(評級和評級被視為不同的名字)
lower_case_table_names is set to 0
真實的,如果lower_case_table_names is set to 0
show variables like '%lower_case_table_names%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_table_names | 0 |
+------------------------+-------+
[test]> desc rating; desc RATING;
+-------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | int(11) | YES | | NULL | |
+-------+---------+------+-----+---------+----------------+
2 rows in set (0.01 sec)
+-------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | int(11) | YES | | NULL | |
+-------+---------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
- 三。 在UNIX / LINUX和Windows平台上,這是可能的
- “因此,底層操作系統的大小寫起著數據庫名和表名的大小寫的一部分,這意味著數據庫和表的名稱是不區分大小寫在Windows,並在大多數Unix變種區分大小寫。” - 手動
- 四。 在Windows和UNIX / Linux平台上,這是可能的
- “因此,底層操作系統的大小寫起著數據庫名和表名的大小寫的一部分,這意味著數據庫和表的名稱是不區分大小寫在Windows,並在大多數Unix變種區分大小寫。” - 手動
- Ë。 這取決於系統變量中上lower_case_table_names
- “如果設置為0,表名指定存儲和比較是區分大小寫的。
- 如果設置為1,表名小寫存儲在磁盤上,比較不區分大小寫。
- 如果設置為2,表名存儲,但比較小寫。“ - 手動
問題16:
查看下面的代碼創建表:
1。 創建表PERS
2。 (EMPNO詮釋不空,
3。 易名字符不為空,
4。 Join_dt日期不為空,
5。 收費詮釋)
哪些行包含一個錯誤?
- 了。 1
- 二。 2
- 三。 3
- 四。 4
- Ë。 5
- f。 沒有任何行錯誤
- 查詢OK
會發生什麼事,如果你查詢emp表如下所示:
選擇EMPNO, DISTINCT ename的,工資從EMP;
- 了。 EMPNO,ename和獨特的價值,然後工資
- 二。 顯示EMPNO,獨特的價值ename和獨特的價值薪金
- (三)在SQL DISTINCT是不是一個有效的關鍵字
- 四。 值將顯示,因為該語句將返回一個錯誤
- ERROR 1064(42000)
下列哪項不是一個字符串列類型 ?
問題19:
下面是表“消息,”請從下列選項中找到合適的查詢和結果。
ID名稱Other_Columns的
-------------------------
1 A_data_1
2 A A_data_2
3 A_data_3
4 B_data_1
5 B_data_2
6 C C_data_1
- 了。 選擇*(選擇*從消息GROUP BY ID DESC)為X ORDER BY name結果:
- 3 A_data_3
- 5 B_data_2
- 6 C C_data_1
- 真正的結果是
- + ---- + ------ + --------------- +
| ID |名稱| Other_Columns |
+ ---- + ------ + --------------- +
| 3 | A | A_data_3 |
| 2 | A | A_data_2 |
| 1 | A | A_data_1 |
| 4 | B | B_data_1 |
| 5 | B | B_data_2 |
| 6 | C | C_data_1 |
+ ---- + ------ + --------------- +
6列集(0.00秒) - 二。 從郵件中選擇“*”,其中name =倒序
- 結果:
- 1 A_data_1
- 2 A A_data_2
- 3 A_data_3
- ERROR 1064(42000):
- 三。 從郵件組名稱選擇*
- 結果:
- 1 A_data_1
- 4 B_data_1
- 6 C C_data_1
- 有效的答案
- + ---- + ------ + --------------- +
| ID |名稱| Other_Columns |
+ ---- + ------ + --------------- +
| 1 | A | A_data_1 |
| 4 | B | B_data_1 |
| 6 | C | C_data_1 |
+ ---- + ------ + --------------- +
3行集(0.00秒) - 四。 答案A和B
- 了。 什麼都不會發生
- 見下面的例子
- 二。 MySQL會產生一個錯誤
- 見下面的例子
- 三。 MySQL將所有VARCHAR數據類型轉換成char
- 見下面的例子
- 四。 MySQL將所有字符數據類型轉換為數據類型為varchar
- 見下面的例子
show create table example\G
*************************** 1. row ***************************
Table: example
Create Table: CREATE TABLE `example` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(14) NOT NULL,
`Other_Columns` char(4) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
問題21:
如果你插入(00)日期列作為今年的價值 ,將被存儲在數據庫中?
- 了。 0000
- 二。 1900
- 三。 2000
show create table testdate\G
*************************** 1. row ***************************
Table: testdate
Create Table: CREATE TABLE `testdate` (
`datetest` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
[test]> insert into testdate VALUES (' 00 ,01,01');
Query OK, 1 row affected (0.04 sec)
root@localhost [test]> select * from testdate;
+------------+
| datetest |
+------------+
| 2000-01-01 |
+------------+
1 row in set (0.00 sec)
- 四。 曖昧,不能確定
下面的語句是正確的,是關於架構是否一體化發展之間的問題,測試和生產服務器可以解決?
- 了。 誠然,不僅可以創建遷移解決方案。NET編程語言。
- 二。 誠然,它可以解決遷移的解決方案。 這些解決方案不同的編程語言。
- 三。 A和B
- 四。 以上皆非
下面的語句是正確的?
- 了。 數據庫,表和列的名稱可以長達64個字符的長度
- 二。 別名可長達256個字符的長度
- 至於在MySQL 5.0.52 CREATE VIEW語句中的列名,別名核對列的最大長度為64個字符(不是最大的別名長度為256個字符) -手動
- 三。 數據庫,表和列的名稱可以長達256個字符的長度
- 四。 別名可以長達64個字符的長度
- 至於在MySQL 5.0.52 CREATE VIEW語句中的列名,別名核對列的最大長度為64個字符(不是最大的別名長度為256個字符) -手動
- 了。 mysqldump的的DB_NAME會話日誌文件backup.sql
- 二。 mysqldump的DB_NAME | grep的-VV-E“會話日誌”>文件backup.sql
- 三。 mysqldump的DB_NAME -忽略表db_name.sessions的db_name.log>文件backup.sql
--ignore-table=name Do not dump the specified table. To specify more than one table to ignore, use the directive multiple times, once for each table. Each table must be specified with both database and table names, eg, --ignore-table=database.table.
- 四。 mysqldump的DB_NAME - 除了表= db_name.sessions - 除了表= db_name.log>文件backup.sql
下列哪項不是一個有效的邏輯運算符 ?
- 了。 &
- 唯一一個不使用
- 二。 &&
- 三。 與
- 四。 !
- Ë。 不
問題26:
選擇適當的查詢表數據應顯示在升序排列的ProductGroup列的主要產品。 二次排序應該是在降序的CurrentStock列。
CREATE TABLE `Products` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`CurrentStock` int(11) DEFAULT 0,
`ProductGroup` int(11) DEFAULT 0,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB;
[test]> INSERT INTO Products VALUES (NULL,1,10),(NULL,2,10), (NULL,3,12), (NULL,4,11), (NULL,5,120), (NULL,6,130), (NULL,7,140), (NULL,8,160), (NULL,8,510), (NULL,10,160)
- 了。 選擇*從產品訂單由CurrentStock ProductGroup
+----+--------------+--------------+
| Id | CurrentStock | ProductGroup |
+----+--------------+--------------+
| 1 | 1 | 10 |
| 2 | 2 | 10 |
| 3 | 3 | 12 |
| 4 | 4 | 11 |
| 5 | 5 | 120 |
| 6 | 6 | 130 |
| 7 | 7 | 140 |
| 8 | 8 | 160 |
| 9 | 8 | 510 |
| 10 | 10 | 160 |
+----+--------------+--------------+
10 rows in set (0.00 sec)- 二。 選擇*從產品訂單由CurrentStock DESC,ProductGroup
+----+--------------+--------------+
| Id | CurrentStock | ProductGroup |
+----+--------------+--------------+
| 10 | 10 | 160 |
| 8 | 8 | 160 |
| 9 | 8 | 510 |
| 7 | 7 | 140 |
| 6 | 6 | 130 |
| 5 | 5 | 120 |
| 4 | 4 | 11 |
| 3 | 3 | 12 |
| 2 | 2 | 10 |
| 1 | 1 | 10 |
+----+--------------+--------------+
10 rows in set (0.00 sec)- 三。 選擇*從產品訂單由ProductGroup CurrentStock
+----+--------------+--------------+
| Id | CurrentStock | ProductGroup |
+----+--------------+--------------+
| 1 | 1 | 10 |
| 2 | 2 | 10 |
| 4 | 4 | 11 |
| 3 | 3 | 12 |
| 5 | 5 | 120 |
| 6 | 6 | 130 |
| 7 | 7 | 140 |
| 8 | 8 | 160 |
| 10 | 10 | 160 |
| 9 | 8 | 510 |
+----+--------------+--------------+
10 rows in set (0.00 sec)- 四。 選擇*從產 品訂單由ProductGroup,CurrentStock DESC
+----+--------------+--------------+
| Id | CurrentStock | ProductGroup |
+----+--------------+--------------+
| 2 | 2 | 10 |
| 1 | 1 | 10 |
| 4 | 4 | 11 |
| 3 | 3 | 12 |
| 5 | 5 | 120 |
| 6 | 6 | 130 |
| 7 | 7 | 140 |
| 10 | 10 | 160 |
| 8 | 8 | 160 |
| 9 | 8 | 510 |
+----+--------------+--------------+
10 rows in set (0.00 sec)- Ë。 以上皆非
問題27:
什麼是真正的TIMESTAMP數據類型 ?
- 了。 一個TIMESTAMP列在一個表中,您可以指定默認值和自動更新的值當前時間戳
- <= MySQL 5.5中:這是不可能的,當前時間戳的默 認值一列和另一列自動更新的值。
- 二。 TIMESTAMP列NOT NULL默認情況下,不能包含NULL值,分配NULL分配當前時間戳
- (三)當服務器運行了MaxDB啟用SQL模式與DATETIME,TIMESTAMP是相同
- “MySQL服務器可以與
MAXDB
啟用SQL模式運行,在這種情況下與TIMESTAMP
DATETIME
,TIMESTAMP
DATETIME
TIMESTAMP
是相同的。如果此模式被啟用的時候創建一個表,TIMESTAMP
列創建DATETIME
列。因此,該列使用DATETIME
顯示格式,具有相同的值範圍,也沒有自動進行初始化或更新到當前的日期和時間。“ -手動 - 四。 一個TIMESTAMP列不能有默認值
- Ë。 以上都不是真實的
問題28:
下列哪項不是一個SQL操作 ?
- 了。 之間..和..
- 二。 喜歡
- 三。 在
- 四。 是空
- Ë。 不
- f。 上述所有SQL運算符
- 看起來這是所有剩下的
問題29:
不確定性意味著在創建函數?
- 了。 該函數沒有返回值
- 二。 該函數始終返回相同的值相同的輸入
- “程序被認為是”確定性“,如果它總是產生相同的輸入參數,和”不確定性“,否則相同的結果。” -手動
- 三。 該函數返回的輸入值
- 四。 以上皆非
問題30:
以下命令將列出當前數據庫的表?
- 了。 顯示表
- x rows的集
- 二。 DESCRIBE TABLES
- ERROR 1146(42S02)
- 三。 顯示所有統計表
- ERROR 1064(42000):
- 四。 LIST TABLES
- ERROR 1064(42000):
問題31:
下列哪項是不是一個有效的比較操作符 ?
- 了。 ==
- ERROR 1064(42000):
- 二。 <=>
- 三。 =!
- 四。 <>
- Ë。 REGEXP
問題32:
如果你寫下面的語句在MySQL提示符會發生什麼?
SELECT NOW();
- 了。 它會顯示當前的日期
+---------------------+
| NOW() |
+---------------------+
| 2013-04-30 18:20:27 |
+---------------------+
1 row in set (0.00 sec)- 二。 這將顯示錯誤消息,因為現在不存在。
- 三。 它會顯示附近有語法錯誤'()'
問題33:
是需要在每一個SELECT語句的FROM子句?
- 了。 是
- 二。 沒有
- 看下面的例子例如,在32個問題。
select 1 = 1;
+-------+
| 1 = 1 |
+-------+
| 1 |
+-------+
問題34:
考慮下面的表定義:
CREATE TABLE table1 (
column1 INT,
column2 INT,
column3 INT,
column4 INT
)
下列哪一個是正確的語法添加列,“column2a”COLUMN2後,上面顯示的表?
- 了。 ALTER的表table1地址column2a int後,COLUMN2
- 查詢OK
- 二。 修改表table1中地址COLUMN2後column2a
- ERROR 1064(42000):
- 三。 INSERT INTO table1的column2a AS詮釋COLUMN2後
- ERROR 1064(42000):
- 四。 ALTER TABLE table1的INSERT column2a詮釋COLUMN2後
- ERROR 1064(42000):
- Ë。 更改表table1中插入欄前column2a
- ERROR 1064(42000):
- f。 列總是最後一列後添加
問題35:
您將如何改變“漢森” 變成了“尼爾森”姓氏列在人的表?
CREATE TABLE `Persons` (
`LastName` varchar(244) NOT NULL DEFAULT ''
) ENGINE=InnoDB;
INSERT INTO Persons VALUE ('Hansen');
- 了。 UPDATE人的SET姓氏='尼爾森其中姓氏='漢森'
- 查詢OK
- 二。 UPDATE人SET姓氏='漢森'INTO姓氏='尼爾森'
- ERROR 1064(42000):
- 三。 SAVE人姓氏='尼爾森其中姓氏='漢森'
- ERROR 1064(42000):
- 四。 SAVE人姓氏='漢森'INTO姓氏='尼爾森'
- ERROR 1064(42000):
問題36:
假設在表tab1的列col1的具有下列值:
2,3,NULL,2,3,1
select語句的輸出會是什麼?
SELECT COUNT(COL1)TAB1
- 了。 6
- 二。 5
CREATE TABLE `tab1` (
`col1` int(11)
) ENGINE=InnoDB;
INSERT INTO tab1 VALUE (2),(3),(NULL),(2),(3),(1);
SELECT count(col1) FROM tab1;
+-------------+
| count(col1) |
+-------------+
| 5 |
+-------------+- 三。 4
- 四。 3
問題37:
考慮下面的表格:
書籍
------
BOOKID
BOOKNAME
AUTHORID
subjectid
popularityrating(書的普及的規模為1到10)
語言(如法語,英語,德語等)
主題
---------
subjectid
主題(如歷史,地理,數學等)
作者
--------
AUTHORID
AUTHORNAME
國家
CREATE TABLE `books` (
`bookid` int(11) NOT NULL AUTO_INCREMENT,
`bookname` varchar(244) NOT NULL DEFAULT '',
`authorid` int(11) DEFAULT 0,
`subjectid` int(11) DEFAULT 0,
`popularityrating` enum('1','2','3','4','5','6','7','8','9','10') DEFAULT NULL,
`language` enum('French','English','German','Spanish','Finnish','Dutch','Norwegian','Portuguese','Swedish') DEFAULT NULL,
PRIMARY KEY (`bookid`)
) ENGINE=InnoDB;
CREATE TABLE authors (
`authorid` int(11) NOT NULL AUTO_INCREMENT,
`authorname` varchar(255) NOT NULL DEFAULT '',
`country` char(52) NOT NULL DEFAULT '',
PRIMARY KEY (`authorid`)
) ENGINE=InnoDB;
CREATE TABLE `Subjects` (
`subjectid` int(11) NOT NULL AUTO_INCREMENT,
`subject` enum('History','English','Geography','Mathematics','Science','Social Studies','Foreign Languages','Visual and Performing Arts') DEFAULT NULL,
PRIMARY KEY (`subjectid`)
) ENGINE=InnoDB;
這是查詢,以確定誰寫了一本書至少與民望低於 5 作者 ?
INSERT INTO authors VALUES(1,"Paul DuBois",'United States'), (2,"David Hunter",'United States'),(3,"Paul Deitel",'United States'),(4,"Bruce Eckel",'United States');
INSERT INTO Subjects VALUES (NULL,'History'),(NULL,'English'),(NULL,'Geography'),(NULL,'Mathematics'),(NULL,'Science'),(NULL,'Social Studies'),(NULL,'Foreign Languages'),(NULL,'Visual and Performing Arts');
INSERT INTO books VALUES (NULL,"MySQL", 1, 5, 8, 'English'),(NULL,"Beginning XML", 2, 5, 4, 'English'),(NULL,"Java How to Program", 3, 5, 3, 'English'),(NULL,"Thinking in Java", 4, 5, 7, 'English'), (NULL,"MySQL 2nd Edition", 1, 5, 5, 'English'),(NULL,"MySQL History", 1, 1, 8, 'English');
- 了。 選擇AUTHORNAME從作者在AUTHORID(其中popularityrating選擇AUTHORID從書本<5)
- 2行
- 二。 選擇作者在AUTHORID(選擇AUTHORID從書本的popularityrating <= 5 AUTHORNAME)
- 三。 選擇AUTHORNAME從作者在AUTHORID(從書本中選擇的BookID popularityrating <5)
- 四。 選擇“AUTHORNAME從作者在AUTHORID(選擇AUTHORID在(0,5 popularityrating,從書本上))
不能用於沖洗聲明:
- 了。 關閉所有打開的表在表緩存
- “關閉所有打開的表,” -手動
- 二。 關閉打開的連接
- “套
Max_used_connections
到當前打開的連接數。“ -手動 - 三。 法拉盛日誌文件
- “關閉並重新打開所有的日誌文件。” -手動
- 四。 法拉盛主機緩存
- “清空主機緩存。” -手動
問題39:
真實 SET數據類型是什麼?
- 了。 集合可以有零個或多個值
- “
SET
是一個字符串對象,可以有零個或多個值“ -手動 - 二。 設定值時,可能包含一個逗號
- “由多個組成員的值指定用逗號分隔的成員” -手動
- 三。 一個SET最多可以有64個不同的成員
- 四。 MySQL的存儲設置值作為字符串
- Ë。 以上都不是真實的
問題40:
MySQL支持5個不同的int類型。 哪一個需要3個字節?
問題41:
選擇所有列從表人姓氏的字母順序(包括該日)之間的“漢森”,“佩特森”什麼是正確的SQL語法?
CREATE TABLE `Persons` (
`LastName` varchar(244) NOT NULL DEFAULT ''
) ENGINE=InnoDB;
REPLACE INTO Persons VALUE ('Hansen'),('Pettersen'),('Nilsen'),('Smith');
- 了。 SELECT * FROM姓氏的人>'漢森'姓氏'佩特森
ERROR 1064 (42000):
- 二。 選擇姓氏>'漢森'姓氏'佩特森人
+------------------------------------------------+
| LastName > 'Hansen' AND LastName < 'Pettersen' |
+------------------------------------------------+
| 0 |
| 0 |
| 1 |
| 0 |
+------------------------------------------------+
4 rows in set (0.00 sec)- 三。 SELECT * FROM人士的姓氏>'漢森'和姓氏>'佩特森'
- ERROR 1146(42S02):人應該是人
- 四。 SELECT * FROM人口姓氏'漢森'和'佩特森之間的'
+-----------+
| LastName |
+-----------+
| Hansen |
| Pettersen |
| Nilsen |
+-----------+
3 rows
下面的語句是正確的,至於下面的代碼中的語法?
流選擇table1.this,table2.that,table2.somethingelse
從表1
INNER JOIN表2 ON table1.foreignkey = table2.primarykey
WHERE(其他一些條件)
CREATE TABLE `table1` (
`foreignkey` int(11) NOT NULL AUTO_INCREMENT,
`this` int(11) DEFAULT 0,
PRIMARY KEY (`foreignkey`)
) ENGINE=InnoDB;
CREATE TABLE `table2` (
`primarykey` int(11) NOT NULL AUTO_INCREMENT,
`that` int(11) DEFAULT 0,
`somethingelse` int(11) DEFAULT 0,
PRIMARY KEY (`primarykey`),
CONSTRAINT FOREIGN KEY (`primarykey`) REFERENCES `table1` (`foreignkey`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;
- 了。 使用較舊的語法更容易受到錯誤。 如果沒有ON子句中使用內部連接,將得到一個語法錯誤。
- 二。 INNER JOIN是ANSI語法。 它通常被認為更可讀的,尤其是當加入大量的表格。它也可以很容易地更換與OUTER JOIN每當有需要時
- 三。 (INNER JOIN)將過濾數據應用WHERE子句之前。 這使得更好的性能與過濾後的數據將被執行的後續連接條件。 之後,只有在條件將適用於過濾條件。
- “一般情況下,你應該使用
ON
子句指定如何連接表的條件,WHERE
子句來限制你想要的結果集行。“ -手動 - 四。 以上所有
- 去了。
單個INSERT語句插入幾行到一個表中,是否有可能?
- 了。 沒有
- 二。 是
INSERT INTO authors VALUES(1,"Paul DuBois",'United States'), (2,"David Hunter",'United States'),(3,"Paul Deitel",'United States'),(4,"Bruce Eckel",'United States');
問題44:
什麼是正確的SQL語法從一個表中的所有列返回名為“人”的“姓”的字母順序反向排序?
- 了。 SELECT * FROM人士的名字ORDER BY姓DESC
Warning | 1292 | Truncated incorrect INTEGER value:
- 二。 SELECT * FROM人排序反向'姓'
ERROR 1064 (42000):
- 三。 SELECT * FROM人ORDER BY - '姓'
+-----------+-----------+
| LastName | FirstName |
+-----------+-----------+
| Hansen | Alan |
| Pettersen | Zoolander |
| Nilsen | Bob |
| Smith | Henry |
+-----------+-----------+
4 rows in set (0.00 sec)- 四。 人口ORDER BY姓DESC SELECT * FROM
+-----------+-----------+
| LastName | FirstName |
+-----------+-----------+
| Pettersen | Zoolander |
| Smith | Henry |
| Nilsen | Bob |
| Hansen | Alan |
+-----------+-----------+
4 rows in set (0.00 sec)
問題45:
考慮foo表已創建:創建表foo(ID INT AUTO_INCREMENT主鍵,名稱為varchar(100));
下面的查詢語法上是有效的?
從foo刪除其中id = ID-1;
- 了。 是
- 二。 沒有
desc foo;
+-------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | int(11) | YES | | NULL | |
+-------+---------+------+-----+---------+----------------+
insert into foo values (NUll,1),(NULL,2);
select * from foo;
+----+------+
| id | name |
+----+------+
| 1 | 1 |
| 2 | 2 |
+----+------+
2 rows in set
delete from foo where id = id-1;
Query OK, 0 rows
STUDENT_GRADES表有這些列:
STUDENT_ID INT
SEMESTER_END DATE
GPA持股量
CREATE TABLE `STUDENT_GRADES` (
`STUDENT_ID` int(5) ,
SEMESTER_END DATE,
GPA FLOAT(5,2)
) ENGINE=InnoDB;
INSERT INTO STUDENT_GRADES VALUES (1,CURDATE(),3.4), (2,CURDATE(),2.4) , (3,CURDATE(),3.2) , (4,CURDATE(),3.9) , (5,CURDATE(),1.4) , (6,CURDATE(),3.1), (7,CURDATE(),3.3) , (8,CURDATE(),2.4),(9,CURDATE(),NULL);
下面的語句查找最高等級,每學期的平均分(GPA)?
- 了。 選擇MAX(GPA)GPA的從STUDENT_GRADES WHERE IS NOT NULL
+----------+
| MAX(GPA) |
+----------+
| 3.90 |
+----------+- 二。 選擇GPA從STUDENT_GRADES集團BY SEMESTER_END
+------+
| GPA |
+------+
| 3.40 |
+------+- 三。 SELECT MAX(GPA)從STUDENT_GRADES集團SEMESTER_END
+----------+
| MAX(GPA) |
+----------+
| 3.90 |
+----------+- 四。 SELECT TOP 1 GPA從STUDENT_GRADES集團BY SEMESTER_END
- ERROR 1064(42000):
- Ë。 以上皆非
你可以在一台機器上運行多個MySQL服務器 ?
- 了。 沒有
- 是的,它是可能的。
- 二。 是
- “在某些情況 下,你可能會想要一台機器上運行多個MySQL實例” -手動
以下格式的日期字段默認接受 ?
- 了。 DD-MM-YYYY
- 二。 YYYY-MM-DD
- 三。 YYYY-MM-DD
- “
DATE
類型值的日期部分,但沒有時間的一部分。MySQL的檢索和顯示DATE
值'YYYY-MM-DD'
格式“ -手動 - 四。 MM-DD-YY
- Ë。 MMDDYYYY
問題49:
以下查詢哪些是有效的?
- 了。 學生選擇*標記> AVG(分);
- ERROR 1111(HY000):使用群組功能無效
- 二。 選擇“*”標記學生為了主題='SQL';
- ERROR 1064(42000):你有一個錯誤的SQL語法;
- 三。 *選擇具有主題='SQL'的學生;
- ERROR 1054(42S22):未知列'''''SQL having子句'
- 四。 選擇的名字從學生組的主題,名稱;
- (0.00秒)
- Ë。 選擇組(*)的學生;
- ERROR 1064(42000):
- f。 選擇名稱,AVG(分)從學生;
+------+------------+
| name | avg(marks) |
+------+------------+
| NULL | NULL |
+------+------------+
1 row in set (0.00 sec)- 克。 以上皆非
問題50:
下列哪項是在MySQL的聚合函數 ?
- 了。 平均
- 二。 選擇
- 三。 排序
- 四。 總和
- Ë。 工會
- f。 集團
- 克。 有
什麼是真正的ENUM數據類型?
- 了。 枚舉值可能是用戶變量
- “你也可以不僱用一個用戶變量作為一個枚舉值。” -手動
- 二。 枚舉可能包含用引號括起來的數
- “枚舉值必須是帶引號的字符串文字,它可能不會是一個表達式,甚至計算為一個字符串值。” -手動
- 三。 枚舉不能包含一個空字符串
- 該值也可以是空字符串(
''
),或在某些情況 下,NULL
“ - 如果一個無效的值插入到一個
ENUM
- 如果嚴格的SQL模式被啟用,試圖插入無效
ENUM
值將導致錯誤。 - -手動
- 四。 枚舉值可能為NULL
- 該值也可以是空字符串(
''
),或在某些情況 下,NULL
“ - 如果一個無效的值插入到一個
ENUM
- 如果嚴格的SQL模式被啟用,試圖插入無效
ENUM
值將導致錯誤。 - -手動
- Ë。 以上都不是真實的
以下哪個運營商具有最高的優先級 ?
- 了。 BINARY
- 二。 不
- 三。 <<
- 四。 %
條款中的select語句的正確順序是什麼?
- 選擇
- 為了通過
- 哪裡
- 有
- 組由
- 了。 1,2,3,4,5
- 二。 1,3,5,4,2
- 選擇-凡-組-有-整理
- 三。 1,3,5,2,4
- 四。 1,3,2,5,4
- Ë。 1,3,2,4,5
- f。 1,5,2,3,4
- 克。 1,4,2,3,5
- 小時。 1,4,3,2,5
問題54:
下面的語句是正確的?
- 了。 BLOB和TEXT列不能有默認值
"BLOB
和TEXT
列不能有DEFAULT
值。“ -手動- 二。 BLOB列被視為二進制字符串(字節串)
- “
BLOB
值被視為二進制字符串(字節串)“ -手動 - 三。 BLOB列有一個字符集
- “他們有沒有字符集,並且排序和比較基於列值字節的數值。” -手動
- D文本列不能被索引
- “如果
TEXT
列索引,索引項比較空間填充年底。“ -手動 - Ë。 以上都不是真實的
問題55:
什麼樣的加入MySQL的支持 ?
join_table:
table_reference [INNER | CROSS] JOIN table_factor [join_condition]
| table_reference STRAIGHT_JOIN table_factor
| table_reference STRAIGHT_JOIN table_factor ON conditional_expr
| table_reference {LEFT|RIGHT} [OUTER] JOIN table_reference join_condition
| table_reference NATURAL [{LEFT|RIGHT} [OUTER]] JOIN table_factor
- 了。 雙連接
- (二)
RIGHT
JOIN
- (三)
NATURAL JOIN
- 四。 中間連接
- (五)
STRAIGHT_JOIN
下面的語句有什麼錯?
創建表foo
(ID INT AUTO_INCREMENT,名稱為int);- 了。 沒什麼
- ERROR 1075(42000):不正確的表定義,只能有一個自動列和它必須被定義為一個鍵
- 二。 id列,不能自動遞增的,因為它沒有被定義為一個主鍵
- 創建表foo(ID INT AUTO_INCREMENT,名稱為int,PRIMARY KEY(`ID`));
- 三。 這不是拼寫正確。 它應該是:了CREATE TABLE富(ID AUTO_INCREMENT,名稱為int);
- ERROR 1075(42000):不正確的表定義,只能有一個自動列和它必須被定義為一個鍵
下列哪一個正確選擇行從表mytable NULL incolumn列?
CREATE TABLE `myTable` (
`column1` varchar(244) NULL DEFAULT ''
) ENGINE=InnoDB;
INSERT INTO myTable VALUES (1),(2),(NULL),(4);
- 了。 SELECT * FROM myTable的WHERE IS NULL列1
- 1行
- 二。 SELECT * FROM myTable的列1 = NULL
- 空集
- 三。 SELECT * FROM myTable的列1等於NULL
- ERROR 1064(42000):
- 四。 SELECT * FROM myTable的WHERE NOT NULL列1
- ERROR 1064(42000):
- Ë。 SELECT * FROM myTable的WHERE column1的包含NULL
- ERROR 1064(42000):
下面的語句授予權限與密碼軟件彼得?
- 了。 測試GRANT ALL ON *彼得密碼'軟件';
- ERROR 1064(42000):
- 二。 GRANT ALL ON測試。*彼得識別“軟件”;
- 查詢OK
- 三。 GRANT ALL測試。*彼得密碼'軟件'
- ERROR 1064(42000):?
- 四。 GRANT ALL OF試驗。*彼得確定'軟件'
- ERROR 1064(42000):?
問題59:
下列哪項不是一個MySQL語句?
- 了。 枚舉
- 二。 EXPLAIN
- 三。 KILL
- 四。 LOAD DATA
- Ë。 SET
考慮下面的SELECT語句,它的輸出:
SELECT * FROM table1的ORDER BY列;
欄1
?
1
2
2
2
2
2
3
鑑於上面的輸出,其中一個下面的命令刪除3列1等於2的5行?
- 了。 從表1列= 2刪除第4
- ERROR 1064(42000)
- 二。 從表1列= 2,刪除4
- ERROR 1064(42000)
- 三。 DELETE WHERE列= 2極限4
- ERROR 1064(42000)
- 四。 DELETE FROM table1中列= 2限制3
- 查詢行,3行受影響
- Ë。 DELETE從表1列= 2留1
- ERROR 1064(42000)
問題61:
維持一個產品表中的數據,並希望看到至少50個以上的最低庫存限額其中有一個currentstock的產品。
產品表的結構是:
產品編號
產品名稱
CurrentStock
MinimumStock
兩個可能的查詢:
(一)選擇*從產品currentStock> MinimumStock + 50
(二)產品currentStock - 50> MinimumStock的選擇*
考慮到上述查詢選擇相應的選項。
- 了。 (a)是正確的
- 二。 (b)是正確的
- 三。 (a)和(b)中,是正確的
- 如果他們使用的產品表,他們都將是有效的
- 四。 (a)和(b)中,是不正確的
- 他們都錯了,因為他們使用的產品表,而不是“ 產品”表
問題62:
哪個運營商將首先評估在下面的語句:
選擇(年齡+ 3 * 4/2 8)從EMP
- 了。 +
- 二。 -
- 三。 /
- 四。 *
INTERVAL
BINARY, COLLATE
!
- (unary minus), ~ (unary bit inversion)
^
*, /, DIV, %, MOD
-, +
<<, >>
&
|
= (comparison), <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
BETWEEN, CASE, WHEN, THEN, ELSE
NOT
&&, AND
XOR
||, OR
= (assignment), :=
問題63:
國家無論是真的還是假的:
MySQL使用MyISAM引擎支持的交易,並提交/回滾
- 了。 真
- 二。 假
- MySQL服務器中的非事務性存儲引擎(如
MyISAM
) -手動
問題64:
下面的查詢是有效的嗎?
創建表foo(主鍵ID INT AUTO_INCREMENT,名稱為varchar);
- 了。 沒有
- ERROR 1064(42000):你有一個錯誤的SQL語法檢查手冊,相當於你的MySQL服務器版本的權利語法使用近')'行1
- 二。 是
問題65:
以下列表中的MySQL空間數據類型是什麼?
- 了。 幾何
GEOMETRY
可以存儲任何類型的幾何值-手動- 二。 CIRCLE
- 三。 SQUARE
- 四。 POINT
- 其他單值類型(
POINT
,LINESTRING
和POLYGON
) ,限制了他們的價值觀,以一個特定的幾何類型-手動 - Ë。 POLYGON
- 其他單值類型(
POINT
,LINESTRING
和POLYGON
) ,限制了他們的價值觀,以一個特定的幾何類型-手動
問題66:
下面的命令之間的區別是什麼? 命令D: 刪除客戶;命令T: TRUCATE的表客戶;
- 了。 ð命令刪除所有條目,命令T刪除插入自去年提交的條目。
- “
TRUNCATE TABLE
清空表完全。“ -手動 - 二。 ð命令刪除所有條目,命令T刪除所有條目和復位自動遞增計數器。
AUTO_INCREMENT
計數器復位到零TRUNCATE TABLE
,“ -手動- 三。 ð命令刪除所有條目,命令T刪除所有條目和刪除表的元數據。
- 四。 ð命令刪除所有條目,t指令重新計算索引
TRUNCATE TABLE
清空表完全從邏輯上講,這是相當於一個DELETE
語句刪除所有行,但在某些情況 下,有實際的差別。“ -手動問題67:
你需要創建一個函數什麼特權 ?
- 了。 數據庫
- (二) 建立日常
- “ALTER例程CREATE ROUTINE,EXECUTE和GRANT OPTION權限適用於存儲程序(程序和功能 )。它們可以在全球和數據庫級別授予” -手動
- 三。 選擇
- 四。 CREATE FUNCTION
- “創建函數語句來創建存儲函數和用戶定義的函數” -手動
- Ë。 沒有特定的權限
考慮表字段名和姓氏(在這兩個字段中允許空值)的員工具有以下數據:
插入員工(名字,姓氏)值('約翰','史密斯');
插入員工(名字,姓氏)值('彼得',NULL);
插入員工(名字,姓氏)值(NULL,'布朗');
會是怎樣的輸出下面的查詢:
選擇,CONCAT(名稱',',COALESCE(姓,''))FROM員工;
+---------------------------------------------+
| CONCAT( name, ' ', COALESCE( surname,'' ) ) |
+---------------------------------------------+
| John Smith |
| Peter |
| NULL |
+---------------------------------------------+
- 了。 約翰·史密斯彼得NULL NULL布朗
- 二。 約翰·史密斯彼得NULL
- 三。 約翰·史密斯NULL布朗
- 四。 約翰·史密斯彼得·布朗
問題69:
NDB是什麼?
- 了。 在內存中的存儲引擎,提供高可用性和數據持久化功能
- “NDBCLUSTER(也被稱為NDB)是一個內存中的存儲引擎,提供高可用性和數據持久化功能。” -手動
- 二。 一個文件系統
- 三。 一個SQL超
- 四。 MySQL的腳本語言
- Ë。 以上皆非
問題70:
下面的SQL查詢怎麼會被改寫嗎?
選擇名稱,位置從`場地`WHERE ID IN(SELECT venue_id從`事件`);
+-------+----------+
| name | location |
+-------+----------+
| Demo1 | US |
| Demo2 | UK |
+-------+----------+
- 了。 選擇從`場館的名稱,位置為v LEFT JOIN`事件`為e ON e.venue_id = v.id的;
- 這個工程只要沒有額外的表中,將加強LEFT JOIN
+-------+----------+
| name | location |
+-------+----------+
| Demo1 | US |
| Demo2 | UK |
+-------+----------+- 二。 選擇名稱,位置從`場地為V INNER JOIN`事件`為E ON e.venue_id = v.id的;
+-------+----------+
| name | location |
+-------+----------+
| Demo1 | US |
| Demo2 | UK |
+-------+----------+- 三。 選擇名稱,位置從`場地為V,'事件'為e WHERE e.venue_id = v.id;
-
+-------+----------+
| name | location |
+-------+----------+
| Demo1 | US |
| Demo2 | UK |
+-------+----------+ - 四。 選擇名稱,位置從`事件為E RIGHT JOIN`場地為V ON v.id = e.venue_id;
- 這個工程只要沒有什麼額外的表中,將加強RIGHT JOIN
+-------+----------+
| name | location |
+-------+----------+
| Demo1 | US |
| Demo2 | UK |
+-------+----------+- Ë。 選擇從場地的名稱,位置`UNION(SELECT ID,事件`venue_id);
+-------+----------+
| name | location |
+-------+----------+
| Demo1 | US |
| Demo2 | UK |
| 1 | 1 |
| 2 | 2 |
+-------+----------+
哪個命令可以列出存儲在mysql程序?
- 了。 顯示程序狀態;
- x行
- 二。 顯示變量,如%的程序%;
- 空集
- 三。 選擇*從程序;
- ERROR 1146(42S02)
- 四。 顯示所有程序;
- ERROR 1064(42000)
以下哪個運營商有最低的優先級 ?
- 了。 BINARY
- 二。 不
- 三。 <<
- 四。 %
如何能InnoDB數據庫進行備份而不鎖表?
- 了。 mysqldump的 - 單交易DB_NAME
- “ -單成交選項不使用LOCK TABLES” -手動
- 二。 mysqldump的 - 力DB_NAME
- 三。 mysqldump的 - 快速DB_NAME
- 四。 mysqldump的 - 表空間DB_NAME
考慮下面的表結構的學生:
rollno詮釋
名稱為varchar(20)
當然,數據類型為varchar(20)
查詢顯示課程的學生人數超過5會有什麼?
- 了。 選擇課程的學生數(當然)> 5;
- ERROR 1111(HY000):使用群組功能無效
- 二。 選擇課程從學生這裡count(*)> 5組當然;
- ERROR 1111(HY000):使用群組功能無效
- 三。 選擇課程從學生組當然;
- > 5沒有限制
- 四。 當然,COUNT(*)> 5,選擇課程從學生組;
- x行集
- Ë。 選擇課程從學生組當然COUNT(*)> 5;
- ERROR 1064(42000):
- f。 選擇課程的學生數(組(當然))> 5;
- ERROR 1064(42000):
- 克。 選擇COUNT(當然)> 5學生;
- 顯示計數
- 小時。 以上皆非