MySQL,DML,DDL 数据操作语言

 INSERT 语句:功能,将数据插入到表中,结果,表中数据量增加了,以行为单位,行数增加了
        实际功能中: 注册,加入购物车,下订单,上车扫码...

INSERT INTO 表名(列名,列名2,…) VALUES(值1,值2,值3,…); – 值和前面列的数量一样多,列和对应的值的类型要一致

– 如果往表中所有的列都插入数据,可以简写

INSERT INTO 表名 VALUES(值1,值2,值3,…); – 值保证和表中列的数量一样多,并且值的类型要和列的类型匹配
注意:
1、插入的值的类型和列的类型要一致
2、插入的值的数量和列的数据量要一样多
3、凡是含有特殊含有的关键字信息:比如列名,比如 NULL 等等,不要加单引号,加了就变成普通的字符串,失去原含有
但是如果是查询条件中的搜索值,插入语句中的 VALUES 值,凡是字符串,必须加单引号。
---------------------- DELETE 语句

想清楚:1、删除哪个表的数据 ? – 表名

    2、删除哪些行的数据? -- 查询条件

SELECT * FROM user_tab WHERE user_name LIKE ‘孙孙12%’;

== 》

DELETE FROM 表名 [WHERE 查询条件];
备注:如果不加查询条件,删除的就是整个表中的数据,工作中,先查询,后删除,并且删除之前要备份。
-------- update 更新修改数据 --------------------------------
想清楚:

1、修改哪个表中的数据? – 》表名
2、修改哪个列的数据?把数据改为什么? – 》列名,新的值
3、修改哪些行?-- 》where 查询条件

– 》 语法

UPDATE 表名 SET 列名1=新的值,列名2=新的值,… WHERE 查询条件;
常见的数据类型:字符串、日期类型、数值类型

CHAR(n) 字符类型,固定长度的字符类型,列存储的字符串的长度是固定的,如果长度不够,
会自动在后面补足空格,最多存放 255 个字符,优势:存储效率高
VARCHAR(n) 字符类型,可变长度的字符类型,最多可以存放 65535 个字符,优势:节省空间
实际中:有一些固定长度的信息存储,建议使用 CHAR 类型,效率高,例如:身份证号,手机号,性别
那些不固定长度的信息存储,建议使用 VARCHAR 类型: 地址,姓名,签名,留言等等

CHAR 类型的字符在检索的的时候要比 VARCHAR 快很多。
时间函数: NOW() – 获取现在的时间
SYSDATE() – 取系统当前的时间

区别: NOW() 在执行的时候获取的是执行开始时取的时间, SYSDATE()在函数执行的时候获取的动态时间值

SELECT NOW(),SYSDATE() FROM DUAL; – 执行过快,看不出区别,让语句执行若干秒,延迟取时间 sleep(n);
数值类型:整型和小数

整型: INT() : 指定的是显示宽度,不是表示存储的大小,默认就是 10

小数:浮点型 FLOAT/DOUBLE (单精度/双精度,精确的程度不一样)
------------------------- 事务 -----------------------------------

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

但是 mysql 中默认事务是自动提交,并且mysql 里面中一个操作数据的语句就构成一个独立的事务,不需要手动结束,
即默认是不可能实现回滚,但是可以进行设置。

事务的四大特点:原子性,一个事务中所有操作语句要么都成功,要么都失败,特别是针对事务执行过程中出现异常,已
执行部分就会回滚到事务开始的状态。回滚 ROLLBACK, 必须是在事务结束之前,即提交 COMMIT 之前操作才有效果。

一致性:同一个事务状态一致,要么都成功,要么都失败
隔离性:Mysql 每个数据操作语句都当成独立的事务
持久性:事务结束提交以后,对数据的修改是永久的

事务主要是影响 DML 语句的执行
/*查看mysql 数据库事务提交方式:

show variables like ‘autocommit’ ; – on 表示自动提交已打开,值1,off 表示自动提交关闭,值 0

set autocommit=0;
*/
保存点: SAVEPOINT 名字
ROLLBACK TO SAVEPOINT s1; – 回滚到了保存点之前
ROLLBACK ;

– 6、最终,一定要进行事务提交,
COMMIT;
------------------------- DDL 语言(了解)--------------------------

DDL :数据库定义语言,操作数据库对象的,比如数据库对象:表,表有行有列,行,就是数据记录;列:属性(字段)

三个语句: CREATE 语句: 创建对象 ,比如,创建表
ALTER 语句:改变修改对象的,比如,修改表
DROP 语句: 删除对象的,比如:删除表,删除用户,删除数据库

工作中:使用情况(开发: DDL 定义数据库 – 》DML 操作数据 --》DQL 查询数据)
(测试: 编写测试计划,方案,用例,做测试准备工作,待代码提交至测试,
执行测试 – 》DQL ((DML)))

– create 语句

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

CREATE DATABASE TEST0307;

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

USE test0307; – use 数据库名,选择具体的数据库操作,相当于在工具中用鼠标直接选择

– 创建表:
– alter 修改,改变表

– 加列

ALTER TABLE 表名 ADD(列名 数据类型(),
列名2 数据类型(),
…)

ALTER TABLE t112 CHANGE id2 idid22 VARCHAR(20); – 会影响到新增数据以及调用这个表的列的程序代码

– 删除表

DROP TABLE 表名; – 谨慎使用,使用之前必须备份数据

DROP TABLE tt118;

– 删除数据库

DROP DATABASE 数据库名;
约束:用来限制什么样的数据可以进入表中,什么样的数据无法写入,直接影响的就是 DML 语句的执行;

4种常见的约束:非空约束、唯一约束、主键约束、外键约束(完整性约束)

约束一般建议在创建表的时候创建上去,约束都是添加在列上面的。
2、 唯一约束:如果有一列添加了唯一约束,那么这一列如果有值的话,这个值必须唯一,不能和该列其它值重复;
但是这个列可以为空值。
即:这个列可以没有值,为 NULL ,但是如果有值,必须唯一不得重复
3、主键约束:是非空约束和唯一约束的集合,这个列既不能为空,也不能重复
4、外键约束,也叫完整性约束:涉及两个表,其中一个是父表,一个子表:这两个表之间存在继承和从属关系。

如果子表中一个列添加了外键约束,这个列的值必须要在父表中先存在,即子表的数据要在父表中 能找到,数据一般

都是编号,不会将名称作为外键。
语法: FOREIGN KEY(子表的列名) REFERENCES 父表的表名(父表列名)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值