ALTER TABLE 用法
- ALTER TABLE 表名 ADD 列名/索引/主键/外键等;
在actor表后面添加一个字段create_date,类型时datetime,不为NULL,默认值为'2020-10-01 00:00:00' ALTER TABLE actor ADD create_date datetime NOT NULL DEFAULT '2020-10-01 00:00:00';
- ALTER TABLE 表名 DROP 列名/索引/主键/外键等;
- ALTER TABLE 表名 ALTER 仅用来改变某列的默认值;
- ALTER TABLE 表名 RENAME 列名/索引名 TO 新的列名/新索引名;
- ALTER TABLE 表名 RENAME TO/AS 新表名;
- ALTER TABLE 表名 MODIFY 列的定义但不改变列名;
- ALTER TABLE 表名 CHANGE 列名和定义都可以改变。
mysql中常用的三种插入数据的语句:
# insert into表示插入数据,数据库会检查主键,如果出现重复会报错;
# replace into表示插入替换数据,需求表中有PrimaryKey,
# 或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样;
# insert ignore表示,如果中已经存在相同的记录,则忽略当前新数据;
insert ignore into actor values(
"3"
,
"ED"
,
"CHASE"
,
"2006-02-15 12:34:33"
);
窗口函数
使用窗口函数
row_number() 是没有重复值的排序(即使两个记录相等也是不重复的),可以利用它来实现分页,如1,2,3,4
dense_rank() 是连续排序,两个第二名仍然跟着第三名,如1,2,2,3
rank() 是跳跃排序,两个第二名下来就是第四名,如1,2,2,4