MySql新增函数Insert和删除函数Delete的几种写法

1.插入记录的方式汇总:

  • 普通插入(全字段):
    • INSERT INTO table_name VALUES (value1, value2, ...)
  • 普通插入(限定字段):
    • INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)
  • 多条一次性插入:
    • INSERT INTO table_name (column1, column2, ...) VALUES (value1_1, value1_2, ...), (value2_1, value2_2, ...), ...
  • 带更新的插入:
    • REPLACE INTO table_name VALUES (value1, value2, ...)

      replace into 跟 insert into功能类似,不同点在于:replace into 首先尝试插入数据到表中,

    • 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据;
    • 否则,直接插入新数据。
    • 要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。

  • 从另一个表导入:
    • INSERT INTO table_name SELECT * FROM table_name2 [WHERE key=value]
    • 在新表备份旧表记录时来使用这条语句。

2.删除记录的方式汇总:

  • 根据条件删除:
    • DELETE FROM tb_name [WHERE options] [ [ ORDER BY fields ] LIMIT n ]

  • 全部删除(表清空,包含自增计数器重置):
    • truncate tb_name

时间差:

  • timestampdiff (interval, time_start, time_end)
    
  • 可计算time_start-time_end的时间差,单位以指定的interval为准,常用可选:
    • SECOND 秒
    • MINUTE 分钟(返回秒数差除以60的整数部分)
    • HOUR 小时(返回秒数差除以3600的整数部分)
    • DAY 天数(返回秒数差除以3600*24的整数部分)
    • MONTH 月数
    • YEAR 年数

timestampdiff 时间差函数,查询两个时间之间的差值,有参数设置, 可以精确到天(day) 小时(hour) 分钟(minute) 和秒(second) 而datediff函数,返回值是相差的天数,不能定位到小时和分钟秒数。 

3.表的创建、修改与删除:

  • 1.1 直接创建表:
CREATE TABLE
[IF NOT EXISTS] tb_name -- 不存在才创建,存在就跳过
(column_name1 data_type1 -- 列名和类型必选
  [ PRIMARY KEY -- 可选的约束,主键
   | FOREIGN KEY -- 外键,引用其他表的键值
   | AUTO_INCREMENT -- 自增ID
   | COMMENT comment -- 列注释(评论)
   | DEFAULT default_value -- 默认值
   | UNIQUE -- 唯一性约束,不允许两条记录该列值相同
   | NOT NULL -- 该列非空
  ], ...
) [CHARACTER SET charset] -- 字符集编码
[COLLATE collate_value] -- 列排序和比较时的规则(是否区分大小写等)

 

  • 1.2 从另一张表复制表结构创建表: 

    CREATE TABLE tb_name LIKE tb_name_old
    
  • 1.3 从另一张表的查询结果创建表:

CREATE TABLE tb_name AS SELECT * FROM tb_name_old WHERE options

2.1 修改表:ALTER TABLE 表名 修改选项 。选项集合: 

    { ADD COLUMN <列名> <类型>  -- 增加列
     | CHANGE COLUMN <旧列名> <新列名> <新列类型> -- 修改列名或类型
     | ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT } -- 修改/删除 列的默认值
     | MODIFY COLUMN <列名> <类型> -- 修改列类型
     | DROP COLUMN <列名> -- 删除列
     | RENAME TO <新表名> -- 修改表名
     | CHARACTER SET <字符集名> -- 修改字符集
     | COLLATE <校对规则名> } -- 修改校对规则(比较和排序时用到)
  • 3.1 删除表:
    • DROP TABLE [IF EXISTS] 表名1 [, 表名2]。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值