MySQL大略学习(二) 表格的操作 增删查改
文章目录
- 二 表的操作
- 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大略学习(二) 表格的操作 增删查改相关推荐
- MySQL命令(二)| 表的增删查改、聚合函数(复合函数)、联合查询
文章目录 新增 (Create) 全列插入 指定列插入 查询 (Retrieve) 全列查询 指定列查询 条件查询 关系元素运算符 模糊查询 分页查询 去重:DISTINCT 别名:AS 升序 or ...
- python学习之flask sqlalchemy介绍和使用 表操作增删查改
flask sqlalchemy介绍和使用 表操作增删查改 内容详细 1 sqlalchemy介绍和快速使用 1.1 介绍 # SQLAlchemy是一个基于Python实现的ORM框架# djang ...
- 数据结构:二叉搜索树的增删查改
二叉搜索树的增删查改 二叉搜索树(Binary Search Tree) 基本操作之查找(Update) 基本操作之修改(Update) 基本操作之增加(Create) 基本操作之删除(Delete) ...
- MySQL:带你掌握表的增删查改
表的增删查改 Create 单行数据 + 全列插入 多行数据 + 指定列插入 插入否则更新 替换 Retrieve SELECT 列 WHERE 条件 结果排序 筛选分页结果 Update Delet ...
- TP框架增删改查需要掉ajax么6,TP6框架--EasyAdmin学习笔记:实现数据库增删查改
这是我写的学习EasyAdmin的第三章,这一章我给大家分享下如何进行数据库的增删查改 上一章链接:点击这里前往 上一章我们说到,我仿照官方案例,定义了一条路由goodsone和创建了对应数据库,我们 ...
- MongoDB入门学习(三):MongoDB的增删查改
对于我们这样的菜鸟来说,最重要的不是数据库的管理,也不是数据库的性能,更不是数据库的扩展,而是怎么用好这款数据库,也就是一个数据库提供的最核心的功能,增删查改. 由于MongoDB存储数据都是以文档的 ...
- MySQL数据库操作——增删查改
MySQL操作 1. 数据库基本操作 启动 net start mysql57 //对于不同版本的MySQL启动会不同,如MySQL8.0.0:net start mysql80, 查看已存在的数据库 ...
- MySQL(二): 表的增删查改
文章目录 新增 (Create) 全列插入 指定列插入 查询 (Retrieve) 全列查询 指定列查询 条件查询 分页查询 去重:DISTINCT 排序:ORDER BY 别名:AS 更新 (Upd ...
- python学习笔记05 字典dic增删查改常用操作及嵌套
字典dic hashable数据(不可变)才能作为key list不可 ,不是按照我们保存的顺序保存的,可以认为是无序的. 新增 dic["国际章"] = "汪峰的老婆 ...
- Java小案例(二) 用数组实现增删查改排序
文章目录 案例一 案例二 案例三 案例四 案例五 案例一 Student.Java package curd;public class Student {private String stuid;pr ...
最新文章
- app测试流程和重点_APP开发测试流程是怎么样的?
- 小白也能学会的 Git 常用指令指南
- 计算机单元格的引用计算,计算机应用 单元格的引用 单元格的引用.pptx
- swift3.0 coreData的使用-日记本demo
- 手机里多个PDF合并成一个PDF的免费方法
- DB2错误SQL1585N
- moment的使用——简单易懂
- [CF1504E]Travelling Salesman Problem
- 为什么不太建议你通过 Python 去找工作?
- Linux升级glibc
- 线程池 ExecutorService 的使用例子
- Single Scale Retinex 增强 matlab 实现
- more than one file was found with os independent path'com/unionpay/blepayservice/'
- 微信公众账号使用获取token次数到达上限reach max api daily quota limit rid: 5fd6fd6a-49fcc7d4-65df845f
- adb push与adb pull
- mini-MBA学习总结一:建设高效团队和决策与执行
- 【Babylon小技巧02】第一人称移动时,限定视角抬头角度
- 如何在App中实现朋友圈功能之四在朋友圈中添加发送图片功能——箭扣科技Arrownock
- 白蛋白纳米粒是一种较好的药物载体|白蛋白普萘洛尔人血清白蛋白HSA纳米粒|的帕西瑞肽牛血清白蛋白BSA纳米粒
- [JQuery学习笔记]——之一
热门文章
- Win10喇叭图标出现红叉提示“未安装任何音频输出设备“
- 小猫钓鱼纸牌游戏java_java实现纸牌游戏之小猫钓鱼算法
- 软件测试工程师需要学习什么内容
- word中套用表格样式在哪里_word2010中表格自动套用格式在哪里?
- 基于Python的BOSS直聘Python岗位数据分析
- Excel实现多表关联查询-VLOOKUP
- 微信小程序 条码 二维码生成
- 单引号、双引号、三引号用法
- html导航栏点击显示该栏内容,点击导航栏,实现下方内容改变
- 连接中国移动彩信网关发送彩信