当前位置: 首页 > news >正文

数据库--MySQL数据管理

数据库–MySQL数据管理

文章目录

  • 数据库--MySQL数据管理
    • 1.外键管理
    • 2.数据库数据管理
    • 3.DML语言
      • 3.1添加数据
      • 3.2修改数据
      • 3.3删除数据
    • 4.练习

1.外键管理

  • 外键概念
    • 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之 间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。
  • 外键作用
    • 保持数据一致性,完整性,主要目的是控制存储在外键表中的数据,约束。使两张表形成关联,外键只能引用外表中的列的值或使 用空值。
  • 创建外键
    • 建表时指定外键约束
    • 建表后修改
  • 删除外键
  • 删除外键、删除表

2.数据库数据管理

  • 数据库意义
    • 数据存储
    • 数据管理
  • 管理数据库数据方法
    • 通过SQLyog等管理工具管理数据库数据
    • 通过DML语句管理数据库数据

3.DML语言

  • DML(Data Manipulation Language,数据操作语言)
    • 用于操作数据库对象中所包含的数据
  • 包括
    • INSERT ( 添加数据语句 )
    • UPDATE ( 更新数据语句 )
    • DELETE ( 删除数据语句 )

3.1添加数据

  • INSERT命令

    #新增数据 (插入一条数据)  字段一定要写
    INSERT INTO 表名 [( 字段1, 字段2, 字段3,...)] VALUES('值1', '值2', '值3',...)INSERT INTO `subject`(SubjectNO,SubjectName,ClassHour,GradeID) VALUES(01,'数据库',22,3);INSERT INTO student (StudentNO,StudentName,Sex,GradeID,Phone,Address,BornDate,Email,IdentityCard) VALUES(1011,'郭靖',1,1,'13500000001','北京海定区中关村大街1号','1986-12-11','guojing @bdqn.cn','450323198612111000');#新增数据 (插入多条数据)
    insert into 表名(字段名1,字段名2,...,字段名N)
    values
    (值1,值2,...,值N),
    (值1,值2,...,值N),
    ... ...
    (值1,值2,...,值N);#新增数据 (插入多条数据)
    #INSERT语句向数据表student添加数据
    INSERT INTO student (StudentNO,StudentName,Sex,GradeID,Phone,Address,BornDate,Email,IdentityCard)
    VALUES(1011,'郭靖',1,1,'13500000001','北京海定区中关村大街1号','1986-12-11','guojing @bdqn.cn','450323198612111000'),
    (1013,'李梅',0,3,'13500000015','上海','1986-12-31','limei@bdqn.cn','450323198612311000'),
    (1012,'李文才',1,2,'13500000002','河南洛阳','1981-12-31','liwencai@bdqn.cn','450323198112311000');#INSERT语句为课程表subject添加数据
    INSERT INTO `subject` (SubjectNO,SubjectName,ClassHour,GradeID) 
    VALUES(1,'高等数学-1',120,1),(2,'高等数学-2',110,2),
    (3,'高等数学-3',100,3),(4,'高等数学-4',130,4);INSERT INTO result (StudentNO,SubjectNO,StudentResult) VALUES('1011','1','99'),('1012','1','79'),('1013','1','89'),('1012','2','69'),('1011','3','88'),('1012','3','79'),('1013','3','66');
    
    • 字段或值之间用英文逗号隔开

    • “字段1, 字段2…”该部分可省略,但添加的值务必与表结构数据列顺序相对应,且数量一致(字段尽量不要省略)

    • 可同时插入多条数据,values 后用英文逗号隔开

3.2修改数据

  • UPDATE命令

    UPDATE 表名 SET column_name = value  [,column_name2 = value2,...] [WHERE条件];#UPDATE语句修改student表数据
    UPDATE student SET Email='student1013@bdqn.cn',LoginPwd='000000' WHERE StudentNO=1013;
    #将数据表subject中ClassHour大于110且GradeID为1的课时都减少10
    UPDATE `subject` SET ClassHour=ClassHour-10 WHERE ClassHour>110 AND GradeID=1;
    
    • column_name 为要更改的数据列
    • value 为修改后的数据,可以为变量、具体值、表达式或者嵌套的SELECT结果
    • condition为筛选条件,如不指定则修改该表的所有列数据
  • WHERE条件子句

    • 简单理解为有条件地从表中筛选数据
    • WHERE中的运算符
    运算符含义范例结果
    =等于5=6false
    <> 或 !=不等于5!=6true
    >大于5>6false
    <小于5<6true
    >=大于等于5>=6false
    <=小于等于5<=6true
    BETWEEN在某个范围之间BETWEEN 5 AND 10-
    AND并且5>1 AND 1>2false
    OR5>1 OR 1>2true

3.3删除数据

  • DELETE命令
DELETE FROM 表名 [WHERE条件]; DELETE FROM student WHERE StudentNo=1000;
  • condition为筛选条件,如不指定则删除该表的所有列数据

  • TRUNCATE命令

    • 用于完全清空表数据,但表结构、索引、约束等不变
TRUNCATE [TABLE] table_name;
  • 区别于DELETE命令
  • 相同
    • 都能删除数据、不删除表结构,但TRUNCATE 速度更快
  • 不同
    • 使用TRUNCATE TABLE重新设置AUTO_INCREMENT计数器
    • 使用TRUNCATE TABLE不会对事务有影响

4.练习

#学生表插入数据
INSERT INTO student VALUES('108','曾华','男','1977-09-01','95033'),
('105','匡明','男','1975-10-02','95031'),
('107','王丽','女','1976-01-23','95033'),
('101','李军','男','1976-02-20','95033'),
('109','王芳','女','1975-02-10','95031'),
('103','陆君','男','1974-06-03','95031');
#课程表插入数据
INSERT INTO course VALUES('3-105','计算机导论','825'),
('3-245','操作系统','804'),
('6-166','数字电路','856'),
('9-888','高等数学','831');
#成绩表插入数据
INSERT INTO score VALUES('103','3-245','86'),
('105','3-245','75'),
('109','3-245','68'),
('103','3-105','92'),
('105','3-105','88'),
('109','3-105','76'),
('101','3-105','64'),
('107','3-105','91'),
('108','3-105','78'),
('101','6-166','85'),
('107','6-166','79'),
('108','6-166','81');
#教师表插入数据
INSERT INTO teacher VALUES('804','李诚','男','1958-12-02','副教授','计算机系'),
('856','张旭','男','1969-03-12','讲师','电子工程系'),
('825','王萍','女','1972-05-05','助教','计算机系'),
('831','刘冰','女','1977-08-14','助教','电子工程系');
#将course表中高等数学修改为JAVA高级编程
UPDATE course SET  Cname='JAVA高级编程' WHERE Cname='高等数学';
#删除学生陆君的信息 (学生信息及学生考试成绩)
DELETE FROM score WHERE score.Sno IN(SELECT Sno FROM student WHERE Sname ='陆君');
DELETE FROM student WHERE Sname ='陆君';
#查询95031班级所有男生信息,返回学号,姓名,性别,出生日期,班级编号
SELECT Sno '学号',Sname '姓名',Ssex '性别',Sbirthday '出生日期',Class '班级编号'
FROM student WHERE Class='95031' AND Ssex='男';
#查询Score表中成绩为85,86或88的记录
SELECT Sno,Cno,Degree FROM score WHERE Degree IN(85,86,88);
#查询Score表中成绩为85,86或88的记录,返回学号,课程名称(注意不是课程编号)
SELECT Sno '学号',Cname '课程名称',Degree '成绩' FROM score,course 
WHERE Degree IN(85,86,88) AND score.Cno=course.Cno;

文章转载自:

http://ufQ25Lml.pctsq.cn
http://RrITHy5s.pctsq.cn
http://DE9bvsip.pctsq.cn
http://66TXEDm6.pctsq.cn
http://ujzJaP6i.pctsq.cn
http://yeApcygA.pctsq.cn
http://2bWMZxiq.pctsq.cn
http://lbVOpUp5.pctsq.cn
http://gpXwcuLA.pctsq.cn
http://VFlOCsTh.pctsq.cn
http://1fFs95T1.pctsq.cn
http://NlBTHorx.pctsq.cn
http://BZ0Ez3GZ.pctsq.cn
http://D9WfJ8JN.pctsq.cn
http://ahUPGSTT.pctsq.cn
http://6L8lOYkD.pctsq.cn
http://eUQ3nnsv.pctsq.cn
http://57NuRnZB.pctsq.cn
http://HB2UtdvT.pctsq.cn
http://FcmjttO0.pctsq.cn
http://QbaZ4NDc.pctsq.cn
http://phXjINzX.pctsq.cn
http://e957mNi2.pctsq.cn
http://lCqG3JxC.pctsq.cn
http://OGjsRqRb.pctsq.cn
http://3r3dtjSU.pctsq.cn
http://OmkUlZZ5.pctsq.cn
http://F89FpcCp.pctsq.cn
http://aUsMZlBd.pctsq.cn
http://otdnq8Kw.pctsq.cn
http://www.dtcms.com/a/376417.html

相关文章:

  • Java全栈学习笔记33
  • 网络学习笔记
  • GitHub每日最火火火项目(9.10)
  • 基于stm32的环境监测系统/智能家居/空气质量监测系统
  • 基于PyQt5和阿里云TTS的语音合成应用开发实战[附源码】
  • Linux的V4L2视频框架学习笔记
  • Android studio安装教程——超详细(含安装包安装教程)
  • 如何将大型音频文件从 iPhone 发送到不同的设备
  • 使用阿里云容器镜像服务 ACR
  • ffmpeg内存模型
  • Android面试指南(八)
  • 不止是进度条:深入PiXSingleGUI的TpSlideProgressBar组件架构设计​
  • Flutter 视频播放器——flick_video_player 介绍与使用
  • 【Java】Hibernate管理Session
  • 【ARMv7】系统复位上电后的程序执行过程
  • Ubuntu引导修复
  • PetaLinux_User_udev
  • 《链表的优雅封装:C++ list 模拟实现与迭代器之美》
  • 基于Redis设计一个高可用的缓存
  • 看涨看跌期权平价公式原理及其拓展
  • Django 基础入门:命令、结构与核心配置全解析
  • 中断系统介绍
  • 算法题 Day5---String类(2)
  • 关于Linux系统调试和性能优化技巧有哪些?
  • 大数据电商流量分析项目实战:Hadoop初认识+ HA环境搭建(二)
  • 软考中级习题与解答——第四章_软件工程(2)
  • AutoTrack-IR-DR200底盘仿真详解:为教育领域打造的高效机器人学习实验平台
  • 介绍 Python Elasticsearch Client 的 ES|QL 查询构建器
  • LeetCode 234. 回文链表
  • 分词器(Tokenizer)总结(89)