MYSQL (DML & DDL语言)

(INSERT/UPDATE/DELETE/事务)

INSERT:插入,新增

使用insert之前想清楚

1、往哪个表插入数据 :  -- >表名

2、往哪些列插入数据: -- 》 列名

3、插入的数据是什么?具体的值 -- 》values

语法:

INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...)

-如果给表中所有的列都插入数据,可以简写为:

INSERT INTO 表名 VALUES(值1,值2,...) ;

例如:给用户信息表插入一个用户信息:用户编号 10089,用户名 sunsun,手机号 13876542345

INSERT INTO user_tab(user_id,phone,user_name) VALUES(10090,13876542345,'sunsun');

给列表中所有选项都插入信息:

INSERT INTO user_tab VALUES(10092,'sunsun23',NULL,13876542345,'null','2022-07-19');

————————————————————————————————————

DELETE 语句

想清楚

1、删除哪个表中的数据 ? -- 表名

  1. 删除哪些行的数据? -- 查询条件

语法:DELETE FROM 表名 [WHERE 查询条件];

实例:DELETE FROM user_tab WHERE user_name LIKE '%sun23%';

备注:如果不加查询条件,删除的就是整个表中的数据,工作中,先查询,后删除,并且删除之前要备份

update 更新修改数据

想清楚:

1、修改哪个表中的数据? -- 》表名

2、修改哪个列的数据?把数据改成什么? -- 》 列名,新的值

3、修改哪些行? -- 》 where 查询条件

语法:UPDATE 表名 SET 列名=新的值,列名2=新的值,... WHERE 查询条件;

实例:把用户表中sunsun相关的用户姓名改成 " 孙孙"

UPDATE user_tab SET user_name='孙孙111',phone=NULL WHERE  user_name LIKE '%孙孙%';

= 的两种用法:

1、在查询条件中, = 表示精确查询的运算符, = 不可以和 NULL 一起使用;

2、在update 语句中, SET 之后, = 表示赋值,可以和 NULL 一起使用

事务

事务:一组数据操作构成事务,一旦开始执行一条DML 语句,就会自动开启事务,后面的数据操作都进入这个事务,在Oracle 数据库中,事务不会自动结束,需要手动结束 COMMIT ; 在提交之前,操作可以回滚  ROLLBACK

但是mysql 中默认事务是自动提交的,并且mysql 中每一个数据操作语句都被当成独立的事务,即每次只需DML语句都会自动提交结束事务,没有回滚的可能。

查看mysql 中事务提交的方式:

show variables like 'autocommit';  -- on 表示自动提交开启,值1,off 表示自动提交关系,值 0

set autocommit=0;

 

 

————————————————————————————————————

2.5DDL 语言(creste/allter/drop)

create 语句

创建数据库: CREATE DATABASE 数据库名字;

CREATE DATABASE test0711; 创建名为test0711的数据库

SHOW DATABASES; -- 命令显示数据库情况

USE 数据库名; 切换到某一个数据库,在工具就相当于光标选中

创建表:

CREATE TABLE 表名(列名1 数据类型(size),列名2 数据类型(size), ...DATE);

 DESC yp;  -- desc 命令,查看表结构,即表中列的情况

Allter

modify 修改列的取值范围,扩大范围

ALTER TABLE t112 MODIFY id2 FLOAT(8,3);

修改列的名字 change

ALTER TABLE t112 CHANGE id2 ididid VARCHAR(20); -- 会影响调用这个表和列的程序,需要同步修改

修改表的名字 rename

ALTER TABLE 表名 RENAME 新的表名

ALTER TABLE t112 RENAME  tt112345;

删除列

ALTER TABLE 表名 DROP 列名;

ALTER TABLE tt112345 DROP id1;

DESC tt112345;

Drop

删除表 DROP 语句:DROP TABLE 表名;

DROP TABLE yp;  -- 删除表及表中数据

删除数据库;DROP DATABASE 数据库名;

DROP DATABASE test0711;   -- 没有授权,不要使用

面试: DROP 和 DELETE 的区别, DELETE 删除的是表中数据,删的时候是一条一条删除,既是不加查询条件,也是这样的原理,对表结构没有影响。

DROP :删除的是表及表数据,且 删除的效率要比 DELETE 高。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值