The response has been limited to 50k tokens of the smallest files in the repo. You can remove this limitation by removing the max tokens filter.
├── LICENSE
├── README.md
└── README_zh-hans.md


/LICENSE:
--------------------------------------------------------------------------------
 1 | MIT License
 2 | 
 3 | Copyright (c) 2018 Enoch Tang
 4 | 
 5 | Permission is hereby granted, free of charge, to any person obtaining a copy
 6 | of this software and associated documentation files (the "Software"), to deal
 7 | in the Software without restriction, including without limitation the rights
 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 | 
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 | 
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 | 


--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
  1 | # Quick SQL Cheatsheet
  2 | 
  3 | A quick reminder of all relevant SQL queries and examples on how to use them. 
  4 | 
  5 | This repository is constantly being updated and added to by the community. 
  6 | Pull requests are welcome. Enjoy!
  7 | 
  8 | # Table of Contents 
  9 | 1. [ Finding Data Queries. ](#find)
 10 | 2. [ Data Modification Queries. ](#modify)
 11 | 3. [ Reporting Queries. ](#report)
 12 | 4. [ Join Queries. ](#joins)
 13 | 5. [ View Queries. ](#view)
 14 | 6. [ Altering Table Queries.](#alter)
 15 | 7. [ Creating Table Query.](#create)
 16 | 
 17 | <a name="find"></a>
 18 | # 1. Finding Data Queries
 19 | 
 20 | ### **SELECT**: used to select data from a database
 21 | * `SELECT` * `FROM` table_name;
 22 | 
 23 | ### **DISTINCT**: filters away duplicate values and returns rows of specified column
 24 | * `SELECT DISTINCT` column_name;
 25 | 
 26 | ### **WHERE**: used to filter records/rows
 27 | * `SELECT` column1, column2 `FROM` table_name `WHERE` condition;
 28 | * `SELECT` * `FROM` table_name `WHERE` condition1 `AND` condition2;
 29 | * `SELECT` * `FROM` table_name `WHERE` condition1 `OR` condition2;
 30 | * `SELECT` * `FROM` table_name `WHERE NOT` condition;
 31 | * `SELECT` * `FROM` table_name `WHERE` condition1 `AND` (condition2 `OR` condition3);
 32 | * `SELECT` * `FROM` table_name `WHERE EXISTS` (`SELECT` column_name `FROM` table_name `WHERE` condition);
 33 | 
 34 | ### **ORDER BY**: used to sort the result-set in ascending or descending order
 35 | * `SELECT` * `FROM` table_name `ORDER BY` column;
 36 | * `SELECT` * `FROM` table_name `ORDER BY` column `DESC`;
 37 | * `SELECT` * `FROM` table_name `ORDER BY` column1 `ASC`, column2 `DESC`;
 38 | 
 39 | ### **SELECT TOP**: used to specify the number of records to return from top of table
 40 | * `SELECT TOP` number columns_names `FROM` table_name `WHERE` condition;
 41 | * `SELECT TOP` percent columns_names `FROM` table_name `WHERE` condition;
 42 | * Not all database systems support `SELECT TOP`. The MySQL equivalent is the `LIMIT` clause
 43 | * `SELECT` column_names `FROM` table_name `LIMIT` offset, count;
 44 | 
 45 | ### **LIKE**: operator used in a WHERE clause to search for a specific pattern in a column
 46 | * % (percent sign) is a wildcard character that represents zero, one, or multiple characters
 47 | * _ (underscore) is a wildcard character that represents a single character
 48 | * `SELECT` column_names `FROM` table_name `WHERE` column_name `LIKE` pattern;
 49 | * `LIKE` ‘a%’ (find any values that start with “a”)
 50 | * `LIKE` ‘%a’ (find any values that end with “a”)
 51 | * `LIKE` ‘%or%’ (find any values that have “or” in any position)
 52 | * `LIKE` ‘_r%’ (find any values that have “r” in the second position)
 53 | * `LIKE` ‘a_%_%’ (find any values that start with “a” and are at least 3 characters in length)
 54 | * `LIKE` ‘[a-c]%’ (find any values starting with “a”, “b”, or “c”
 55 | 
 56 | ### **IN**: operator that allows you to specify multiple values in a WHERE clause
 57 | * essentially the IN operator is shorthand for multiple OR conditions
 58 | * `SELECT` column_names `FROM` table_name `WHERE` column_name `IN` (value1, value2, …);
 59 | * `SELECT` column_names `FROM` table_name `WHERE` column_name `IN` (`SELECT STATEMENT`);
 60 | 
 61 | ### **BETWEEN**: operator selects values within a given range inclusive
 62 | * `SELECT` column_names `FROM` table_name `WHERE` column_name `BETWEEN` value1 `AND` value2;
 63 | * `SELECT` * `FROM` Products `WHERE` (column_name `BETWEEN` value1 `AND` value2) `AND NOT` column_name2 `IN` (value3, value4);
 64 | * `SELECT` * `FROM` Products `WHERE` column_name `BETWEEN` #01/07/1999# AND #03/12/1999#;
 65 | 
 66 | ### **NULL**: values in a field with no value
 67 | * `SELECT` * `FROM` table_name `WHERE` column_name `IS NULL`;
 68 | * `SELECT` * `FROM` table_name `WHERE` column_name `IS NOT NULL`;
 69 | 
 70 | ### **AS**: aliases are used to assign a temporary name to a table or column
 71 | * `SELECT` column_name `AS` alias_name `FROM` table_name;
 72 | * `SELECT` column_name `FROM` table_name `AS` alias_name;
 73 | * `SELECT` column_name `AS` alias_name1, column_name2 `AS` alias_name2;
 74 | * `SELECT` column_name1, column_name2 + ‘, ‘ + column_name3 `AS` alias_name;
 75 | 
 76 | ### **UNION**: set operator used to combine the result-set of two or more SELECT statements
 77 | * Each SELECT statement within UNION must have the same number of columns
 78 | * The columns must have similar data types
 79 | * The columns in each SELECT statement must also be in the same order
 80 | * `SELECT` columns_names `FROM` table1 `UNION SELECT` column_name `FROM` table2;
 81 | * `UNION` operator only selects distinct values, `UNION ALL` will allow duplicates
 82 | 
 83 | ### **INTERSECT**: set operator which is used to return the records that two SELECT statements have in common
 84 | * Generally used the same way as **UNION** above
 85 | * `SELECT` columns_names `FROM` table1 `INTERSECT SELECT` column_name `FROM` table2;
 86 | 
 87 | ### **EXCEPT**: set operator used to return all the records in the first SELECT statement that are not found in the second SELECT statement
 88 | * Generally used the same way as **UNION** above
 89 | * `SELECT` columns_names `FROM` table1 `EXCEPT SELECT` column_name `FROM` table2;
 90 | 
 91 | ### **ANY|ALL**: operator used to check subquery conditions used within a WHERE or HAVING clauses
 92 | * The `ANY` operator returns true if any subquery values meet the condition
 93 | * The `ALL` operator returns true if all subquery values meet the condition
 94 | * `SELECT` columns_names `FROM` table1 `WHERE` column_name operator (`ANY`|`ALL`) (`SELECT` column_name `FROM` table_name `WHERE` condition);
 95 | 
 96 | ### **GROUP BY**: statement often used with aggregate functions (COUNT, MAX, MIN, SUM, AVG) to group the result-set by one or more columns
 97 | * `SELECT` column_name1, COUNT(column_name2) `FROM` table_name `WHERE` condition `GROUP BY` column_name1 `ORDER BY` COUNT(column_name2) DESC;
 98 | 
 99 | ### **HAVING**: this clause was added to SQL because the WHERE keyword could not be used with aggregate functions
100 | * `SELECT` `COUNT`(column_name1), column_name2 `FROM` table `GROUP BY` column_name2 `HAVING` `COUNT(`column_name1`)` > 5;
101 | 
102 | ### **WITH**: often used for retrieving hierarchical data or re-using temp result set several times in a query. Also referred to as "Common Table Expression"
103 | * `WITH RECURSIVE` cte `AS` (<br/>
104 |     &nbsp;&nbsp;`SELECT` c0.* `FROM` categories `AS` c0 `WHERE` id = 1 `# Starting point`<br/>
105 |     &nbsp;&nbsp;`UNION ALL`<br/>
106 |     &nbsp;&nbsp;`SELECT` c1.* `FROM` categories `AS` c1 `JOIN` cte `ON` c1.parent_category_id = cte.id<br/>
107 |   )<br/>
108 |   `SELECT` *<br/>
109 |   `FROM` cte
110 | 
111 | 
112 | <a name="modify"></a>
113 | # 2. Data Modification Queries
114 | 
115 | ### **INSERT INTO**: used to insert new records/rows in a table
116 | * `INSERT INTO` table_name (column1, column2) `VALUES` (value1, value2);
117 | * `INSERT INTO` table_name `VALUES` (value1, value2 …);
118 | 
119 | ### **UPDATE**: used to modify the existing records in a table
120 | * `UPDATE` table_name `SET` column1 = value1, column2 = value2 `WHERE` condition;
121 | * `UPDATE` table_name `SET` column_name = value;
122 | 
123 | ### **DELETE**: used to delete existing records/rows in a table
124 | * `DELETE FROM` table_name `WHERE` condition;
125 | * `DELETE` * `FROM` table_name;
126 | 
127 | <a name="report"></a>
128 | # 3. Reporting Queries
129 | 
130 | ### **COUNT**: returns the # of occurrences
131 | * `SELECT COUNT (DISTINCT` column_name`)`;
132 | 
133 | ### **MIN() and MAX()**: returns the smallest/largest value of the selected column
134 | * `SELECT MIN (`column_names`) FROM` table_name `WHERE` condition;
135 | * `SELECT MAX (`column_names`) FROM` table_name `WHERE` condition;
136 | 
137 | ### **AVG()**: returns the average value of a numeric column
138 | * `SELECT AVG (`column_name`) FROM` table_name `WHERE` condition;
139 | 
140 | ### **SUM()**: returns the total sum of a numeric column
141 | * `SELECT SUM (`column_name`) FROM` table_name `WHERE` condition;
142 | 
143 | <a name="joins"></a>
144 | # 4. Join Queries
145 | 
146 | ###  **INNER JOIN**: returns records that have matching value in both tables
147 | * `SELECT` column_names `FROM` table1 `INNER JOIN` table2 `ON` table1.column_name=table2.column_name;
148 | * `SELECT` table1.column_name1, table2.column_name2, table3.column_name3 `FROM` ((table1 `INNER JOIN` table2 `ON` relationship) `INNER JOIN` table3 `ON` relationship);
149 | 
150 | ### **LEFT (OUTER) JOIN**: returns all records from the left table (table1), and the matched records from the right table (table2)
151 | * `SELECT` column_names `FROM` table1 `LEFT JOIN` table2 `ON` table1.column_name=table2.column_name;
152 | 
153 | ### **RIGHT (OUTER) JOIN**: returns all records from the right table (table2), and the matched records from the left table (table1)
154 | * `SELECT` column_names `FROM` table1 `RIGHT JOIN` table2 `ON` table1.column_name=table2.column_name;
155 | 
156 | ### **FULL (OUTER) JOIN**: returns all records when there is a match in either left or right table
157 | * `SELECT` column_names `FROM` table1 ``FULL OUTER JOIN`` table2 `ON` table1.column_name=table2.column_name;
158 | 
159 | ### **Self JOIN**: a regular join, but the table is joined with itself
160 | * `SELECT` column_names `FROM` table1 T1, table1 T2 `WHERE` condition;
161 | 
162 | <a name="view"></a>
163 | # 5. View Queries
164 | 
165 | ### **CREATE**: create a view
166 | * `CREATE VIEW` view_name `AS SELECT` column1, column2 `FROM` table_name `WHERE` condition;
167 | 
168 | ### **SELECT**: retrieve a view
169 | * `SELECT` * `FROM` view_name;
170 | 
171 | ### **DROP**: drop a view
172 | * `DROP VIEW` view_name;
173 | 
174 | <a name="alter"></a>
175 | # 6. Altering Table Queries
176 | 
177 | ### **ADD**: add a column
178 | * `ALTER TABLE` table_name `ADD` column_name column_definition;
179 | 
180 | ### **MODIFY**: change data type of column
181 | * `ALTER TABLE` table_name `MODIFY` column_name column_type;
182 | 
183 | ### **DROP**: delete a column
184 | * `ALTER TABLE` table_name `DROP COLUMN` column_name;
185 | 
186 | <a name="create"></a>
187 | # 7. Creating Table Query
188 | 
189 | ### **CREATE**: create a table
190 | * `CREATE TABLE` table_name `(` <br />
191 |    `column1` `datatype`, <br />
192 |    `column2` `datatype`, <br />
193 |    `column3` `datatype`, <br />
194 |    `column4` `datatype`, <br />
195 |    `);`
196 | 


--------------------------------------------------------------------------------
/README_zh-hans.md:
--------------------------------------------------------------------------------
  1 | # SQL 速查表 
  2 | 
  3 | 一个所有 SQL 语句用法的速查表。
  4 | 
  5 | 这个仓库被社区不断添加和更新,欢迎提交 PR 👏。 
  6 | 
  7 | # 内容 
  8 | 1. [ 查找数据的查询 ](#find)
  9 | 2. [ 修改数据的查询 ](#modify)
 10 | 3. [ 聚合查询 ](#report)
 11 | 4. [ 连接查询 ](#joins)
 12 | 5. [ 视图查询 ](#view)
 13 | 6. [ 修改表的查询 ](#alter)
 14 | 
 15 | <a name="find"></a>
 16 | # 1. 查找数据的查询
 17 | 
 18 | ### **SELECT**: 用于从数据库中选择数据
 19 | * `SELECT` * `FROM` table_name;
 20 | 
 21 | ### **DISTINCT**: 用于过滤掉重复的值并返回指定列的行
 22 | * `SELECT DISTINCT` column_name;
 23 | 
 24 | ### **WHERE**: 用于过滤记录/行
 25 | * `SELECT` column1, column2 `FROM` table_name `WHERE` condition;
 26 | * `SELECT` * `FROM` table_name `WHERE` condition1 `AND` condition2;
 27 | * `SELECT` * `FROM` table_name `WHERE` condition1 `OR` condition2;
 28 | * `SELECT` * `FROM` table_name `WHERE NOT` condition;
 29 | * `SELECT` * `FROM` table_name `WHERE` condition1 `AND` (condition2 `OR` condition3);
 30 | * `SELECT` * `FROM` table_name `WHERE EXISTS` (`SELECT` column_name `FROM` table_name `WHERE` condition);
 31 | 
 32 | ### **ORDER BY**: 用于结果集的排序,升序(ASC)或者降序(DESC)
 33 | * `SELECT` * `FROM` table_name `ORDER BY` column;
 34 | * `SELECT` * `FROM` table_name `ORDER BY` column `DESC`;
 35 | * `SELECT` * `FROM` table_name `ORDER BY` column1 `ASC`, column2 `DESC`;
 36 | 
 37 | ### **SELECT TOP**: 用于指定从表顶部返回的记录数
 38 | * `SELECT TOP` number columns_names `FROM` table_name `WHERE` condition;
 39 | * `SELECT TOP` percent columns_names `FROM` table_name `WHERE` condition;
 40 | * 并非所有数据库系统都支持`SELECT TOP`。 MySQL 中是`LIMIT`子句
 41 | * `SELECT` column_names `FROM` table_name `LIMIT` offset, count;
 42 | 
 43 | ### **LIKE**: 用于搜索列中的特定模式,WHERE 子句中使用的运算符
 44 | * % (percent sign) 是一个表示零个,一个或多个字符的通配符
 45 | * _ (underscore) 是一个表示单个字符通配符
 46 | * `SELECT` column_names `FROM` table_name `WHERE` column_name `LIKE` pattern;
 47 | * `LIKE` ‘a%’    (查找任何以“a”开头的值)
 48 | * `LIKE` ‘%a’    (查找任何以“a”结尾的值)
 49 | * `LIKE` ‘%or%’  (查找任何包含“or”的值)
 50 | * `LIKE` ‘_r%’   (查找任何第二位是“r”的值)
 51 | * `LIKE` ‘a_%_%’ (查找任何以“a”开头且长度至少为3的值)
 52 | * `LIKE` ‘[a-c]%’(查找任何以“a”或“b”或“c”开头的值)
 53 | 
 54 | ### **IN**: 用于在 WHERE 子句中指定多个值的运算符
 55 | * 本质上,IN运算符是多个OR条件的简写
 56 | * `SELECT` column_names `FROM` table_name `WHERE` column_name `IN` (value1, value2, …);
 57 | * `SELECT` column_names `FROM` table_name `WHERE` column_name `IN` (`SELECT STATEMENT`);
 58 | 
 59 | ### **BETWEEN**: 用于过滤给定范围的值的运算符
 60 | * `SELECT` column_names `FROM` table_name `WHERE` column_name `BETWEEN` value1 `AND` value2;
 61 | * `SELECT` * `FROM` Products `WHERE` (column_name `BETWEEN` value1 `AND` value2) `AND NOT` column_name2 `IN` (value3, value4);
 62 | * `SELECT` * `FROM` Products `WHERE` column_name `BETWEEN` #01/07/1999# AND #03/12/1999#;
 63 | 
 64 | ### **NULL**: 代表一个字段没有值
 65 | * `SELECT` * `FROM` table_name `WHERE` column_name `IS NULL`;
 66 | * `SELECT` * `FROM` table_name `WHERE` column_name `IS NOT NULL`;
 67 | 
 68 | ### **AS**: 用于给表或者列分配别名
 69 | * `SELECT` column_name `AS` alias_name `FROM` table_name;
 70 | * `SELECT` column_name `FROM` table_name `AS` alias_name;
 71 | * `SELECT` column_name `AS` alias_name1, column_name2 `AS` alias_name2;
 72 | * `SELECT` column_name1, column_name2 + ‘, ‘ + column_name3 `AS` alias_name;
 73 | 
 74 | ### **UNION**: 用于组合两个或者多个 SELECT 语句的结果集的运算符
 75 | * 每个 SELECT 语句必须拥有相同的列数
 76 | * 列必须拥有相似的数据类型
 77 | * 每个 SELECT 语句中的列也必须具有相同的顺序
 78 | * `SELECT` columns_names `FROM` table1 `UNION SELECT` column_name `FROM` table2;
 79 | * `UNION` 仅允许选择不同的值, `UNION ALL` 允许重复
 80 | 
 81 | ### **ANY|ALL**: 用于检查 WHERE 或 HAVING 子句中使用的子查询条件的运算符
 82 | * `ANY` 如果任何子查询值满足条件,则返回 true。
 83 | * `ALL` 如果所有子查询值都满足条件,则返回 true。
 84 | * `SELECT` columns_names `FROM` table1 `WHERE` column_name operator (`ANY`|`ALL`) (`SELECT` column_name `FROM` table_name `WHERE` condition);
 85 | 
 86 | ### **GROUP BY**: 通常与聚合函数(COUNT,MAX,MIN,SUM,AVG)一起使用,用于将结果集分组为一列或多列
 87 | * `SELECT` column_name1, COUNT(column_name2) `FROM` table_name `WHERE` condition `GROUP BY` column_name1 `ORDER BY` COUNT(column_name2) DESC;
 88 | 
 89 | ### **HAVING**: HAVING 子句指定 SELECT 语句应仅返回聚合值满足指定条件的行。它被添加到 SQL 语言中,因为WHERE关键字不能与聚合函数一起使用。
 90 | * `SELECT` `COUNT`(column_name1), column_name2 `FROM` table `GROUP BY` column_name2 `HAVING` `COUNT(`column_name1`)` > 5;
 91 | 
 92 | 
 93 | <a name="modify"></a>
 94 | # 2. 修改数据的查询
 95 | 
 96 | ### **INSERT INTO**: 用于在表中插入新记录/行
 97 | * `INSERT INTO` table_name (column1, column2) `VALUES` (value1, value2);
 98 | * `INSERT INTO` table_name `VALUES` (value1, value2 …);
 99 | 
100 | ### **UPDATE**: 用于修改表中的现有记录/行
101 | * `UPDATE` table_name `SET` column1 = value1, column2 = value2 `WHERE` condition;
102 | * `UPDATE` table_name `SET` column_name = value;
103 | 
104 | ### **DELETE**: 用于删除表中的现有记录/行
105 | * `DELETE FROM` table_name `WHERE` condition;
106 | * `DELETE` * `FROM` table_name;
107 | 
108 | <a name="report"></a>
109 | # 3. 聚合查询
110 | 
111 | ### **COUNT**: 返回出现次数
112 | * `SELECT COUNT (DISTINCT` column_name`)`;
113 | 
114 | ### **MIN() and MAX()**: 返回所选列的最小/最大值
115 | * `SELECT MIN (`column_names`) FROM` table_name `WHERE` condition;
116 | * `SELECT MAX (`column_names`) FROM` table_name `WHERE` condition;
117 | 
118 | ### **AVG()**: 返回数字列的平均值
119 | * `SELECT AVG (`column_name`) FROM` table_name `WHERE` condition;
120 | 
121 | ### **SUM()**: 返回数值列的总和
122 | * `SELECT SUM (`column_name`) FROM` table_name `WHERE` condition;
123 | 
124 | <a name="joins"></a>
125 | # 4. 连接查询
126 | 
127 | ###  **INNER JOIN**: 内连接,返回在两张表中具有匹配值的记录
128 | * `SELECT` column_names `FROM` table1 `INNER JOIN` table2 `ON` table1.column_name=table2.column_name;
129 | * `SELECT` table1.column_name1, table2.column_name2, table3.column_name3 `FROM` ((table1 `INNER JOIN` table2 `ON` relationship) `INNER JOIN` table3 `ON` relationship);
130 | 
131 | ### **LEFT (OUTER) JOIN**: 左外连接,返回左表(table1)中的所有记录,以及右表中的匹配记录(table2)
132 | * `SELECT` column_names `FROM` table1 `LEFT JOIN` table2 `ON` table1.column_name=table2.column_name;
133 | 
134 | ### **RIGHT (OUTER) JOIN**: 右外连接,返回右表(table2)中的所有记录,以及左表(table1)中匹配的记录
135 | * `SELECT` column_names `FROM` table1 `RIGHT JOIN` table2 `ON` table1.column_name=table2.column_name;
136 | 
137 | ### **FULL (OUTER) JOIN**: 全外连接,全连接是左右外连接的并集. 连接表包含被连接的表的所有记录, 如果缺少匹配的记录, 以 NULL 填充。
138 | * `SELECT` column_names `FROM` table1 ``FULL OUTER JOIN`` table2 `ON` table1.column_name=table2.column_name;
139 | 
140 | ### **Self JOIN**: 自连接,表自身连接
141 | * `SELECT` column_names `FROM` table1 T1, table1 T2 `WHERE` condition;
142 | 
143 | <a name="view"></a>
144 | # 5. 视图查询
145 | 
146 | ### **CREATE**: 创建视图
147 | * `CREATE VIEW` view_name `AS SELECT` column1, column2 `FROM` table_name `WHERE` condition;
148 | 
149 | ### **SELECT**: 检索视图
150 | * `SELECT` * `FROM` view_name;
151 | 
152 | ### **DROP**: 删除视图
153 | * `DROP VIEW` view_name;
154 | 
155 | <a name="alter"></a>
156 | # 6. 修改表的查询
157 | 
158 | ### **ADD**: 添加字段
159 | * `ALTER TABLE` table_name `ADD` column_name column_definition;
160 | 
161 | ### **MODIFY**: 修改字段数据类型
162 | * `ALTER TABLE` table_name `MODIFY` column_name column_type;
163 | 
164 | ### **DROP**: 删除字段
165 | * `ALTER TABLE` table_name `DROP COLUMN` column_name;
166 | 
167 | 
168 | 
169 | 
170 | 
171 | 
172 | 


--------------------------------------------------------------------------------