第十章、练习题.sql 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. #第十章、练习题
  2. #练习1:
  3. #1、创建数据库test01_office,指明字符集为utf8.并在此数据库下执行下述操作。
  4. #我做的
  5. CREATE DATABASE test01_office CHARACTER SET 'utf8';
  6. #老师做的
  7. CREATE DATABASE IF NOT EXISTS test01_office CHARACTER SET 'utf8';
  8. #2、创建表depy01
  9. /*
  10. 字段 类型
  11. id INT(7)
  12. NAME VARCHAR(25)
  13. */
  14. USE test01_office;
  15. #我做的
  16. CREATE TABLE depy01(
  17. id INT(7),
  18. NAME VARCHAR(25)
  19. );
  20. #老师做的
  21. CREATE TABLE IF NOT EXISTS depy01(
  22. id INT(7),
  23. `NAME` VARCHAR(25)
  24. );
  25. SHOW TABLES;
  26. SELECT *
  27. FROM depy01;
  28. #3、将表departments中的数据插入新表dept02中
  29. #我做的
  30. CREATE TABLE dept02
  31. AS
  32. SELECT *
  33. FROM departments;
  34. #老师做的
  35. CREATE TABLE dept02
  36. AS
  37. SELECT *
  38. FROM atguigudb.departments;
  39. #4、创建表emp01
  40. /*
  41. 字段 类型
  42. id INT(7)
  43. first_name VARCHAR(25)
  44. last_name VARCHAR(25)
  45. dept_id INT(7)
  46. */
  47. CREATE TABLE IF NOT EXISTS emp01(
  48. id INT(7),
  49. first_name VARCHAR(25),
  50. last_name VARCHAR(25),
  51. dept_id INT(7)
  52. );
  53. #5、将列last_name的长度增加到50
  54. ALTER TABLE emp01
  55. MODIFY last_name VARCHAR(50);
  56. DESC emp01;
  57. #6、根据表employees创建emp02
  58. #老师做的
  59. CREATE TABLE IF NOT EXISTS emp02
  60. AS
  61. SELECT *
  62. FROM atguigudb.employees;
  63. #7、删除表emp01
  64. DROP TABLE IF EXISTS emp01;
  65. SHOW TABLES;
  66. #8、将表emp02重命名为emp01
  67. #ALTER TABLE emp02 RENAME TO emp01;
  68. RENAME TABLE emp02 TO emp01;
  69. #9、在表dept02和emp01中添加新列test_column,并检查所作的操作
  70. ALTER TABLE dept02
  71. ADD test_cloumn VARCHAR(10);
  72. ALTER TABLE emp01
  73. ADD test_column VARCHAR(10)
  74. DESC dept02;
  75. DESC emp01;
  76. #10、直接删除表emp01中的列department_id
  77. ALTER TABLE emp01
  78. DROP COLUMN department_id;
  79. #练习2
  80. #1、创建数据库test02_market
  81. CREATE DATABASE test02_market CHARACTER SET 'utf8';
  82. USE test02_market;
  83. SHOW CREATE DATABASE test02_market;
  84. #2、创建数据表customers
  85. /*
  86. 字段名 数据类型
  87. c_num INT
  88. c_name VARCHAR(50)
  89. c_contact VARCHAR(50)
  90. c_city VARCHAR(50)
  91. c_birth DATE
  92. */
  93. CREATE TABLE IF NOT EXISTS customers(
  94. c_num INT,
  95. c_name VARCHAR(50),
  96. c_contact VARCHAR(50),
  97. c_city VARCHAR(50),
  98. c_birth DATE
  99. );
  100. DESC customers;
  101. #3、将c_contact字段移动到c_birth字段后面
  102. ALTER TABLE customers
  103. MODIFY c_contact VARCHAR(50) AFTER c_birth;
  104. #4、将c_name字段数据类型改为VARCHAR(70)
  105. ALTER TABLE customers
  106. MODIFY c_name VARCHAR(70);
  107. #5、将c_contact字段改名为c_phone
  108. ALTER TABLE customers
  109. CHANGE c_contact c_phone VARCHAR(50);
  110. #6、增加c_gender字段到c_name后面,数据类型为char(1)
  111. ALTER TABLE customers
  112. ADD c_gender CHAR(1) AFTER c_name;
  113. #7、将表名改为customers_info
  114. RENAME TABLE customers
  115. TO customers_info;
  116. DESC customers_info;
  117. #8、删除字段c_city
  118. ALTER TABLE customers_info
  119. DROP COLUMN c_city;
  120. #练习3:
  121. #1、创建数据库test03_company
  122. CREATE DATABASE test03_company CHARACTER SET 'utf8';
  123. #老师做的
  124. CREATE DATABASE IF NOT EXISTS test03_company CHARACTER SET 'utf8';
  125. USE test03_company;
  126. #2、创建表offices
  127. /*
  128. 字段名 数据类型
  129. officeCode INT
  130. city VARCHAR(30)
  131. address VARCHAR(50)
  132. country VARCHAR(50)
  133. postalCode VARCHAR(25)
  134. */
  135. CREATE TABLE IF NOT EXISTS offices(
  136. officeCode INT,
  137. city VARCHAR(30),
  138. address VARCHAR(50),
  139. country VARCHAR(50),
  140. postalCode VARCHAR(25)
  141. );
  142. DESC offices;
  143. #3、创建表employees
  144. /*
  145. 字段名 数据类型
  146. empNum INT
  147. lastName VARCHAR(50)
  148. firstName VARCHAR(50)
  149. mobile VARCHAR(25)
  150. code INT
  151. jobTitle VARCHAR(50)
  152. birth DATE
  153. note VARCHAR(255)
  154. sex VARCHAR(5)
  155. */
  156. CREATE TABLE IF NOT EXISTS employees(
  157. empNum INT,
  158. lastName VARCHAR(50),
  159. firstName VARCHAR(50),
  160. mobile VARCHAR(25),
  161. `code` INT,
  162. jobTitle VARCHAR(50),
  163. birth DATE,
  164. note VARCHAR(255),
  165. sex VARCHAR(5)
  166. );
  167. DESC employees;
  168. #4、将表employees的mobile字段修改到code字段后面
  169. ALTER TABLE employees
  170. MODIFY mobile VARCHAR(25) AFTER `code`;
  171. #5、将表employees的birth字段改名为birthday
  172. ALTER TABLE employees
  173. CHANGE birth birthday DATE;
  174. #6、修改sex字段,数据类型为CHAR(1)
  175. ALTER TABLE employees
  176. MODIFY sex CHAR(1);
  177. #7、删除字段note
  178. ALTER TABLE employees
  179. DROP COLUMN note;
  180. #8、增加字段名favoriate_activity,数据类型为VARCHAR(100)
  181. ALTER TABLE employees
  182. ADD favoriate_activity VARCHAR(100);
  183. #9、将表employees的名称修改为employees_info
  184. RENAME TABLE employees TO employees_info;
  185. DESC employees_info;