MySQL进阶 | 03.增删改建表语句

1.INSERT - 插入语句

# 插入 - 可以且建议执行插入的列名
INSERT INTO student(id, name, student_class_id)
VALUES (1, '张三', 1);
       
# 同时插入多行
INSERT INTO student(id, name, student_class_id)
VALUES (1, '张三', 1),
	   (2, '李四', 1),
	   (3, '王五', 1);
  • 编写插入的SQL语句时,可以且建议指定插入的列名,好处在于:如果表的结构发生改变,只要SQL中执行的列没有发生改变,且被指定为NOT NULL的数据有值即可;
  • 可以同时插入多行,VALUES后拼接多组括号以插入多条记录。

2.DELETE - 删除语句

DELETE FROM student
WHERE id = '3119004007';

3.UPDATE - 修改语句

# 修改
UPDATE student
SET name = '李四',
	student_class_id = 2
WHERE id = 1;

可以利用MyBatis的<if>标签实现动态更新

<!-- 根据id,动态更新student -->
<update id="updateById">
	UPDATE student
	<trim prefix="SET" suffixOverrides=",">
		<if test="name != null and name != ''">
			name = #{name},
		</if>
		<if test="studentClassId != null and studentClassId != ''">
			student_class_id = #{studentClassId},
		</if>
	</trim>
</update>
  • prefix:在SQL之前加上"SET"
  • suffixOverrides:删除最后一个","

4.CREATE - 建表语句

CREATE TABLE student
(
	id				    bigint		NOT NULL	AUTO_INCREMENT,
    name				varchar(12)	 NOT NULL,
    student_class_id	   int		  NOT NULL	  DEFAULT 1,
    PRIMARY KEY (id)
) ENGINE=InnoDB;

建表时需要确定几个关键元素:

  • 表名(student)

  • 字段的各种数据(字段名、类型、是否允许为空、是否自增、默认值)

    – 允许为空:NOT NULL

    – 自增长:AUTO_INCREMENT

    – 默认值:**DEFAULT **1 表示默认值为1

  • 主键:PRIMARY KEY ( id )

  • 引擎:ENGINE = InnoDB

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值