mysql学习笔记(二)

2019-08-22  本文已影响0人  dev_winner
NOT NULL(非空约束)
PRIMARY KEY(主键约束)
UNIQUE KEY(唯一约束)
DEFAULT(默认约束)
FOREIGN KEY(外键约束)

1、添加单列

ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name];
# 参数FIRST表示创建的字段插入表头;
# 参数AFTER 表示创建的字段插入某个列的后面;
# 若不添加上面这2个参数,则默认添加到所有列的后面。

2、添加多列

ALTER TABLE tbl_name ADD  [COLUMN] (col_name column_definition, ...),
                     ADD  [COLUMN] (col_name column_definition, ...)
                     ...;

3、删除列

ALTER TABLE tbl_name DROP [COLUMN] col_name;

4、添加主键约束

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...);
# symbol 为约束名称

5、添加唯一约束

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)

6、添加外键约束

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name, ...) reference_definition;

7、添加/删除默认约束

ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT};

8、删除主键约束

ALTER TABLE tbl_name DROP PRIMARY KEY;

9、删除唯一约束

ALTER TABLE tal_name DROP [INDEX | KEY] index_name;

10、删除外键约束

ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol;

11、修改列定义

ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name];

12、修改列名称,可同时重新定义类型和字段的位置

ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name];

13、数据库表更名

# 法一:
ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name;
# 法二:
RENAME  TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] ...
UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1 = {expr1|DEFAULT} [, col_name2={expr|DEFAULT}] ... [WHERE where_condition];
DELETE FROM tbl_name [WHERE where_condition];
SELECT select_expr [, select_expr ...]
[
  FROM table_references  # 从哪个表查询
  [WHERE where_condition]
  [GROUP BY {col_name| position} [ASC | DESC], ...]  # 将查询结果分组
  [HAVING where_condition]  # HAVING子句一般和分组语句一起使用
  [ORDER BY {col_name | expr | position} [ASC | DESC], ...]  # 排序
  [LIMIT {[offset,] row_count | row_count OFFSET offset}]   # 分页查询 
]
[GROUP BY {col_name| position} [ASC | DESC], ...]
# col_name:字段名;position:查询字段的位置;
# ASC:升序;DESC:降序。
[HAVING where_condition]
[ORDER BY {col_name | expr | position} [ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
# limit 2 表示返回前2条记录
# limit 4, 3 从第5条记录开始返回3条记录
operand comparison_operator ANY(subquery);
operand comparison_operator SOME(subquery);
operand comparison_operator ALL(subquery);
ANY SOME ALL
>、>= 最大值 最小值 最大值
<、<= 最大值 最大值 最小值
= 任意值 任意值 -
<>、!= - - 任意值
DESC tbl_name; 
UPDATE table_references SET col_name1 = {expr1 | DEFAULT} [, col_name2={expr2|DEFAULT}]... [WHERE where_condition];
# table_references 多个表之间的连接
CREATE TABLE [IF NOT EXISTS] tbl_name [(create_definition, ...)] select_statement;
tbl_name [[AS] alias] | table_subquery [AS] alias
DELETE tbl_name[.*] [, tbl_name[.*]] ... FROM table_references [WHERE where_condition]; 
# 删除自身一些重复记录需用到表别名
上一篇 下一篇

猜你喜欢

热点阅读