MySQL数据管理
前言
首先,新年快乐!牛年希望能更牛,学到更多知识~ 这一节接着上一节,了解的是MySQL的数据管理有关知识点 以下是个人码的笔记,供学习交流参考~
1、外键(了解即可)
自行百度,不建议使用
影响delete和update
2、DML语言(全部记住)
数据库意义:数据存储,数据管理
DML语言:数据操作语言
- insert
- update
- delete
3、添加(insert)
--insert into 表名([字段名1,字段2,字段3]) values ('值1'),('值2'),('值3')
insert into `grade`(`gradename`) values ('大四')
--插入单个字段多个值
insert into `grade`(`gradename`) values ('大二'),('大一')
--插入多个字段多个值
insert into `student`(`name`,`pwd`,`sex`) values ('张三','123456','男'),('李四','123456','男')
注意事项:
- 字段和字段之间使用 英文逗号 隔开
- 字段可以省略,只不过添加的值要一一对应
- 可以同时插入多条数据,values后面的值,需要使用 英文逗号 隔开并用 英文括号 框住
4、修改(update)
--修改学员名字
--带where条件(id为1的同学姓名改为张三)
update `student` set `name` = '张三' where id = 1;
--不指定条件(所有的name都改为了李四)
update `student` set `name` = '李四';
--语法
--update 表名 set colnum_name = value , colnum_name = value...] where [条件]
--修改多个属性用 英文逗号 隔开
update `student` set `name` = '王五' , `Email` = '[email protected]' where id = 1;
--使用多个条件判断
update `student` set `name` = '李四' where `name`='李四' and sex = '男';
操作符会返回boolen值
操作符 | 含义 | 范围 | 结果 |
---|---|---|---|
= | 等于 | 5=6 | false |
<>或!= | 不等于 | 5<>6 | true |
> | 大于 | 5>6 | false |
< | 小于 | 5<6 | true |
>= | 大于等于 | 5>=6 | false |
<= | 小于等于 | 5<=6 | true |
between x and y | 在x和y之间(包含x和y) | 11 between 1 and 10 | flase |
and | && | 5>1 and 1>2 | false |
or | || | 5>1 or 1>2 | true |
语法:
update 表名 set colnum_name = value , colnum_name = value...] where [条件]
注意:
colnum_name 是数据库的列,尽量带上``(tab键上方)
条件,筛选的条件,若无指定,则会修改所有的列
value,是一个具体的值,也可以是一个变量 current_time就是一个变量,表示当前时间
update `student` set `birthday'`= current_time where `name` = '张三' and sex = '男'
多个设置的属性之间,用英文逗号隔开
5、删除
delete 命令
--删除数据
--语法: delete from 表名 [where 条件]
--删除指定数据(删除id=1的学生数据)
delete from `stduent` where id = 1;
truncate 命令
作用:完全情况一个数据库表,表的结构和索引约束不会改变!
--完全清空一个表的数据
truncate `student`
delete 和 truncate 的区别
相同点:都可以删除数据,都不会删除表结构
不同点:
truncate 重新设置 自增列 计数器 会归零
truncate 不会影响事务
--测试delete和truncate的区别
--先创建test表
creat table `test`(
`id` int(4) not null auto_increment,
`coll` varchar(20) not null,
primary key ('id')
)engine=INNODB default charset=utf8
--给test添加coll的值
insert into `test`(`coll`) values('1'),('2'),('3')
delete from `test`
--虽然数据删除,但不会影响自增
truncate from `test`
--不仅数据删除,而且自增和计数器都清零了
delete删除的问题:重启数据库的现象
- InnoDB 自增会从1开始 (存在内存中,断电即失)
- MyISAM 继续从上一个自增量开始(存在文件中,不会丢失)
后话
MySQL的学习仍在继续,新的一年更加努力! 有任何问题或者错误可以在评论区提出!我会和小伙伴们讨论的!