MySQL语句学习(二)---DML:insert、update、delete

一、简单了解一下 mysql 的 sql 类型:

1、数据定义语言 DDL:Create、Drop、Alter 操作。用于定义库和表结构的。

2、数据操纵语言 DML:insert、update、delete。对行记录进行增删改操作。

3、数据查询语言 DQL:select。用于查询数据的。

4、数据控制语言 DCL:grant、revoke、commit、rollback。控制数据库的权限和事务。

 二、数据操纵语言 DML:insert、update、delete。对行记录进行增删改操作。

数据库的C(create增)R(read查)U(update改)D(delete删)

 2.1、Insert语句--使用 INSERT 语句向表中插入数据

INSERT INTO 表名(id, goods_name, price)
    VALUES(10, '华为手机', 2000);
#(id, goods_name, price)表的字段(列名)
# VALUES(10, '华为手机', 2000)分别为表列变量对应赋值
#如果给全部字段赋值,表名后的()可以省略,默认按顺序逐个赋值
#如果是部分赋值,必须在表名后加上需要赋值的字段(列)

注意事项:a、插入的数据应与字段的数据类型相同,比如 把 'abc' 添加到 int 类型会错误

                  b、数据的长度应在列的规定范围内,例如:不能将一个长度为 80 的字符串加入到长度为 40 的列中。

                  c、在 values 中列出的数据位置必须与被加入的列的排列位置相对应。

                  d、字符和日期型数据应包含在单引号中。``

INSERT INTO `goods` (id, goods_name, price)
    VALUES(40, vovo 手机, 3000); #-- 错误的 vovo 手机 应该 'vovo 手机'

                  e、列可以插入空值[前提是该字段允许为空]

                  f、insert into tab_name (列名..) values (),(),() 形式添加多条记录

                  g、如果是给表中的所有字段添加数据,可以不写前面的字段名称

INSERT INTO `goods` VALUES(70, 'IBM 手机', 5000);

                  f、默认值的使用,当不给某个字段值时,如果有默认值就会添加默认值,否则报错

                        --如果某个列 没有指定 not null ,那么当添加数据时,没有给定值,则会默认给 null

                        --如果我们希望指定某个列的默认值,可以在创建表时指定

                        对于默认值:使用NOT NULL约束    字段名  字段类型 NOT NULL 

CREATE TABLE `user` 
    ( id INT NOT NULL DEFAULT 0, 
     `name` VARCHAR(255) NOT NULL DEFAULT "",   
     `password` VARCHAR(255) NOT NULL DEFAULT "",
     `birthday` DATE NOT NULL DEFAULT "2023-01-01")CHARACTER SET utf8 COLLATE utf8_bin ENGINE INNODB;

2.2、update语句--使用UPDATE语句修改表中数据

注意:与ALTER 修改表中列的属性,而不是列里面的内容,如将员工表中的工资列中的薪资数增加2000,是对表中内容的修改。

UPDATE employee
    SET salary = 3000
    WHERE user_name = '小明'
#将小明的工资修改为3000

使用细节:a、使用UPDATE语句可以用新值替换原有表中的各列旧值;

                  b、SET子句可以指定要修改的列和要赋予的值

                  c、WHERE子句指定要更新的哪些行,如果没有WHERE将更新所有行

                  d、如果需要修改多个字段(列)中的内容,可以:SET 字段1 = 值1,字段2 = 值2...

 2.3、delete语句--使用 DELETE 语句删除表中数据

                                DELETE FROM 表名 
                                      WHERE 指定删除哪一行

如删除employy表中的小明信息:

DELETE FROM employee
    WHERE user_name = '小明';
#-- Delete 语句不能删除某一列的值(可使用 update 设为 null 或者 '')
UPDATE employee SET job = ''
     WHERE user_name = '小明';

使用细节:a、如果不用WHERE子句,将删除表中所有数据;

                  b、DELETE语句不能删除某一列的值(可以使用UPDATE将值赋为NULL或"")

                  c、DELETE语句仅删除表中数据但会保留表的列结构,只是内容删除,不会删除表,如果要删表,请使用DROP TABLE 表名DROP TABLE employee;

以上介绍了DML,对应的是增删改内容,查询用SELECT,是DQL,放在下次整理,涉及内容比较多

                

                 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值