文章目录

  • 二 表的操作
    • 2.1 表中结构的修改
      • 基础语法
    • 例子
      • 1. 为student表增加籍贯列 jiguan,类型为varchar, 字段宽20字节,不允许为null
      • 2. 重命名Student表中籍贯列‘jiguang’ 改成‘jiguan’
      • 3. 删除Student表中的jiguan字段
      • 4. 将Stubdent表中sdept字段的长度改成20
      • 5. 在sno字段上设置主键
      • 6. 在Course表设置cno为主键
      • 7. 在SC表设置sno, cno 为外键
    • 2.2 表中数据的修改
    • 基础语法
    • 例子
      • 1. 向Student表中插入如下数据
      • 2. 插入Course表和Sc表
      • 3. 将Sc表中C02课程degree全部加5分
      • 4. 删除Sc表中C02课程全部记录
    • Notes:
      • 1. 为什么要有主键
      • 2. 为什么要有外键
      • 3.刚才给Course表添加数据为什么会报错

二 表的操作

2.1 表中结构的修改

基础语法

1. 添加字段
alter table table_name add 属性名 属性类型2. 删除字段
alter table table_name drop 属性名3. 重命名字段
alter table table_name change 旧属性名 新属性名 旧属性类型4. 修改字段类型
alter table table_name modify 属性名  修改后属性类型5. 设置主键
alter table table_name add primary key(属性名)6. 设置外键
alter table table_name1 add constranit 外键名 foreign key(table_name1 中属性) refference table_name2(table_name2中的主键)
如果不constraint 外键名   会增加自动创建一个外键名
需要通过show create table table_name 来查找外键名7. 删除主键
alter table table_name drop primary key8. 删除外键
alter table table_name drop foreign key 外键名

例子

1. 为student表增加籍贯列 jiguan,类型为varchar, 字段宽20字节,不允许为null

alter table Student add jiguang varchar(20) not null;

2. 重命名Student表中籍贯列‘jiguang’ 改成‘jiguan’

  alter table Student change jiguang jiguan varchar(20);

3. 删除Student表中的jiguan字段

    alter table Student drop jiguan;

4. 将Stubdent表中sdept字段的长度改成20

alter table Student modify sdept char(20);

5. 在sno字段上设置主键

```sql
alter table Student add primary key(sno);
```

6. 在Course表设置cno为主键

alter table Course add primary key(cno);

7. 在SC表设置sno, cno 为外键

alter table Sc add foreign key(sno)references Student(sno);alter table Sc add foreign key(cno) references
Course(cno);

2.2 表中数据的修改

基础语法

1. 增加数据
insert into table_name(col1, col2) values(value1, value2)2. 删除数据
delete from table_name where 条件3. 修改数据
update table_name set col1 = value1 where 条件4. 查找数据
select * from table_name where 条件

例子

1. 向Student表中插入如下数据

sno sname ssex sbirthday sdept speciality
20150101 李勇 1997.1.12 CS 计算机应用
20150201 刘晨 1995.6.4 IS 电子商务
20150301 王敏 1999.12.23 MA 数学
20150202 张立 1997.8.25 Is 电子商务
insert into Student(sno, sname, ssex, sbirthday, sdept, speciality) values('20150101', '李勇', '男', '1997-01-12', 'CS', '计算机应用');其他的依次类推就不写了

2. 插入Course表和Sc表

cno cname
C01 数据库
C02 数学
C03 信息系统
C03 操作系统
sno cno degree
20050101 C01 92
20050101 C02 85
20050101 C03 88
20050201 C02 90
20050201 C03 80
20050301 C01 NULL
20050301 C02 NULL
20050202 C01 87
insert into Course(cno, cname) values('C01', '数据库');
insert into Course(cno, cname) values('C02', '数学');
insert into Course(cno, cname) values('C03', '信息系统');
insert into Course(cno, cname) values('C03','操作系统');insert into Sc(sno, cno, degree) values('20050101', 'C01', 92);
insert into Sc(sno, cno, degree) values('20050101', 'C02', 85);
insert into Sc(sno, cno, degree) values('20050101', 'C03', 88);
insert into Sc(sno, cno, degree) values('20050201', 'C02', 90);
insert into Sc(sno, cno, degree) values('20050201', 'C03', 80);
insert into Sc(sno, cno, degree) values('20050301', 'C01', NULL);
insert into Sc(sno, cno, degree) values('20050301', 'C02',
NULL);                                                     insert into Sc(sno, cno, degree) values('20050202', 'C01', 87);

这边我们发现第四个插入失败 是因为之前我们把Course表中的cno设置为主键唯一标识 C03 跟前面的C03冲突了 解决的办法是 删除主键

3. 将Sc表中C02课程degree全部加5分

update Sc set degree=degree+5 where cno = 'C02';

4. 删除Sc表中C02课程全部记录

delete from Sc where cno = 'C02';

Notes:

1. 为什么要有主键

​ 主键用来唯一标识来强制确保表地完整性。例如身份证上人的名字是会有重复的,但是身份证号码是唯一标识的,假如.要查询一个人那么直接查询他的身份证号码就可以了

2. 为什么要有外键

为了解决数据的冗余,并且外键能关联的确保整个数据库的表都是完整的

3.刚才给Course表添加数据为什么会报错

Course的主键是cno, 第四个课程号与前面的课程号冲突,标识符不唯一

MySQL大略学习(二) 表格的操作 增删查改相关推荐

  1. MySQL命令(二)| 表的增删查改、聚合函数(复合函数)、联合查询

    文章目录 新增 (Create) 全列插入 指定列插入 查询 (Retrieve) 全列查询 指定列查询 条件查询 关系元素运算符 模糊查询 分页查询 去重:DISTINCT 别名:AS 升序 or ...

  2. python学习之flask sqlalchemy介绍和使用 表操作增删查改

    flask sqlalchemy介绍和使用 表操作增删查改 内容详细 1 sqlalchemy介绍和快速使用 1.1 介绍 # SQLAlchemy是一个基于Python实现的ORM框架# djang ...

  3. 数据结构:二叉搜索树的增删查改

    二叉搜索树的增删查改 二叉搜索树(Binary Search Tree) 基本操作之查找(Update) 基本操作之修改(Update) 基本操作之增加(Create) 基本操作之删除(Delete) ...

  4. MySQL:带你掌握表的增删查改

    表的增删查改 Create 单行数据 + 全列插入 多行数据 + 指定列插入 插入否则更新 替换 Retrieve SELECT 列 WHERE 条件 结果排序 筛选分页结果 Update Delet ...

  5. TP框架增删改查需要掉ajax么6,TP6框架--EasyAdmin学习笔记:实现数据库增删查改

    这是我写的学习EasyAdmin的第三章,这一章我给大家分享下如何进行数据库的增删查改 上一章链接:点击这里前往 上一章我们说到,我仿照官方案例,定义了一条路由goodsone和创建了对应数据库,我们 ...

  6. MongoDB入门学习(三):MongoDB的增删查改

    对于我们这样的菜鸟来说,最重要的不是数据库的管理,也不是数据库的性能,更不是数据库的扩展,而是怎么用好这款数据库,也就是一个数据库提供的最核心的功能,增删查改. 由于MongoDB存储数据都是以文档的 ...

  7. MySQL数据库操作——增删查改

    MySQL操作 1. 数据库基本操作 启动 net start mysql57 //对于不同版本的MySQL启动会不同,如MySQL8.0.0:net start mysql80, 查看已存在的数据库 ...

  8. MySQL(二): 表的增删查改

    文章目录 新增 (Create) 全列插入 指定列插入 查询 (Retrieve) 全列查询 指定列查询 条件查询 分页查询 去重:DISTINCT 排序:ORDER BY 别名:AS 更新 (Upd ...

  9. python学习笔记05 字典dic增删查改常用操作及嵌套

    字典dic hashable数据(不可变)才能作为key  list不可 ,不是按照我们保存的顺序保存的,可以认为是无序的. 新增 dic["国际章"] = "汪峰的老婆 ...

  10. Java小案例(二) 用数组实现增删查改排序

    文章目录 案例一 案例二 案例三 案例四 案例五 案例一 Student.Java package curd;public class Student {private String stuid;pr ...

最新文章

  1. app测试流程和重点_APP开发测试流程是怎么样的?
  2. 小白也能学会的 Git 常用指令指南
  3. 计算机单元格的引用计算,计算机应用 单元格的引用 单元格的引用.pptx
  4. swift3.0 coreData的使用-日记本demo
  5. 手机里多个PDF合并成一个PDF的免费方法
  6. DB2错误SQL1585N
  7. moment的使用——简单易懂
  8. [CF1504E]Travelling Salesman Problem
  9. 为什么不太建议你通过 Python 去找工作?
  10. Linux升级glibc
  11. 线程池 ExecutorService 的使用例子
  12. Single Scale Retinex 增强 matlab 实现
  13. more than one file was found with os independent path'com/unionpay/blepayservice/'
  14. 微信公众账号使用获取token次数到达上限reach max api daily quota limit rid: 5fd6fd6a-49fcc7d4-65df845f
  15. adb push与adb pull
  16. mini-MBA学习总结一:建设高效团队和决策与执行
  17. 【Babylon小技巧02】第一人称移动时,限定视角抬头角度
  18. 如何在App中实现朋友圈功能之四在朋友圈中添加发送图片功能——箭扣科技Arrownock
  19. 白蛋白纳米粒是一种较好的药物载体|白蛋白普萘洛尔人血清白蛋白HSA纳米粒|的帕西瑞肽牛血清白蛋白BSA纳米粒
  20. [JQuery学习笔记]——之一

热门文章

  1. Win10喇叭图标出现红叉提示“未安装任何音频输出设备“
  2. 小猫钓鱼纸牌游戏java_java实现纸牌游戏之小猫钓鱼算法
  3. 软件测试工程师需要学习什么内容
  4. word中套用表格样式在哪里_word2010中表格自动套用格式在哪里?
  5. 基于Python的BOSS直聘Python岗位数据分析
  6. Excel实现多表关联查询-VLOOKUP
  7. 微信小程序 条码 二维码生成
  8. 单引号、双引号、三引号用法
  9. html导航栏点击显示该栏内容,点击导航栏,实现下方内容改变
  10. 连接中国移动彩信网关发送彩信