MYSQL数据管理

时间:2021-09-24 13:07:38   收藏:0   阅读:24

MYSQL数据管理

 

外键(了解即可)

 

技术分享图片

 

 

 

方式一:创建表的时候,增加约束(麻烦,比较复杂)

 

技术分享图片

 

 

 

方式二:创建表成功后,添加外键约束

 

-- 创建表的时候没有外键关系
alter table `student`
add constraint `FK_gradeid` FOREIGN KEY(`gradeid`) REFERENCES `grade`(`gradeid`);
-- alter table `表` add constraint `约束名` FOREIGN KEY(`作为外键的列`) REFERENCES 那个表(那个字段)

 

以上操作都是物理外键,数据库级别的外键,我们不建议使用(避免数据库过多造成困扰,这里了解即可~)

 

最佳实践:

 

 

DML语言(重点!全部记住)

 

添加

 

insert

 

-- 插入语句(添加)
-- insert into 表名([字段1,字段2,字段3]) values(‘值1‘),(‘值2‘), (‘字段3‘) ...
INSERT INTO `grade`(`gradename`) VALUES(‘大四‘)
?
-- 由于主键自增我们可以省略(如果不写表的字段,他就会一一匹配)
INSERT INTO `grade`VALUES(‘大四‘) -- 直接报错!!!
?
-- 一般写插入语句,我们一定要数据和字段一一对应!
?
-- 插入多个字段
INSERT INTO `grade`(`gradename`) VALUES(‘大三‘),(‘大二‘)
?
INSERT INTO `student`(`name`) VALUES(‘张三‘)
?
INSERT INTO `student`(`name`,`pwd`,`sex`)
VALUES(‘张三‘,‘aaaaaa‘,‘男‘)
?
INSERT INTO `student`(`name`,`pwd`,`sex`)
VALUES(‘王五‘,‘bbbbbb‘,‘男‘),(‘李四‘,‘cccccc‘,‘男‘)
?

语法:

insert into 表名([字段1,字段2,字段3]) values(‘值1‘),(‘值2‘), (‘字段3‘)  ...

注意:

values后面的值要用单引号括起来,是单引号,不是漂!!!

 

注意事项:

 

技术分享图片

 

 

 

 

修改

update 修改谁(条件) set原来的值=新值

 

-- 修改学员名字,带了简介
UPDATE `student` SET `name`=‘鹏‘ WHERE id = 1
?
-- 不指定条件的情况下,会改动所有的表
UPDATE `student` SET `name`=‘鹏‘
?
-- 修改多个属性,逗号隔开
UPDATE `student` SET `name`=‘亚鹏‘,email=‘2098987739@qq.com‘ WHERE id=2
?
-- 语法:
-- update 表名 set colnum_name = value,[ colnum_name = value] where [条件]
?

 

条件:where子句 运算符 ID 等于某个值,大于某个值,在某个区间内修改 ........

操作符会返回布尔值

 

 

操作符含义范围结果
= 等于 5=6 false
<>或!= 不等于 5<>6 true
>      
<      
<=      
>=      
between A and B 在某个范围内 [A,B]  
and 我和你&& 5>1 and 1>2 false
or 我或你|| 5>1 or 1>2 true

 

-- 通过多个条件定位数据
--UPDATE `student` SET `name`=‘亚鹏‘,WHERE `name`=‘鹏 ADD sex=‘女

 

语法:

update 表名 set colnum_name = value,[ colnum_name = value] where [条件]

 

注意:

update `student` set `birthday`=current_time where `name`=‘鹏‘ and sex=‘男‘

 

 

删除

delete 命令

语法:delete from 表名 [where 条件]

-- 删除数据(避免这样写,会全部删除)
delete from student
?
-- 删除指定数据
delete from `student` where id = 1

 

truncate 命令

作用:完全清空一个数据表,表的结构和索引约束不会变!

-- 清空text表
truncate `text`

 

delete 和truncate的区别

 

-- 测试delete和truncate的区别
建表:text
?
CREATE TABLE IF NOT EXISTS `text`(
   `id` INT(10) NOT NULL AUTO_INCREMENT
   `coll` VARCHAR(50) NOT NULL
   PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
?
?
?
INSERT INTO `test` (`coll`) VALUES(‘1‘),(‘2‘),(‘3‘) -- 插入数据
?
DELETE FROM `test` -- delete,不会影响自增
?
TRUNCATE TABLE `test` -- truncate,自增会归零
?
?

了解即可:delete删除的问题,删除之后重启数据库,会有几个现象

 

 

 

 

这一节的知识点多且重要,需细细思索并记忆!

每天进步一点点!

 

 

原文:https://www.cnblogs.com/zypdbk/p/15310984.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!