IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Day27 MySql对表操作的一些命令 -> 正文阅读

[大数据]Day27 MySql对表操作的一些命令

作者:recommend-item-box type_blog clearfix

1.外键的增删

--外键:给数据加一定的限制条件
--一般来说,定义的数据范围来自一个表的一个字段(唯一且非空):来源
--要用到这些数据的表,要和该表建立外键约束,那么使用的数据不能超出来源的范围
建表时增:
constraint 外键名 foreign key(本表字段) references 来源表(来源字段)
已有表后增:
alter table 表名 constraint 外键名 foreign key (本表字段) refereces 来源表(来源字段);
删外键:
alter table 表名 drop foreign key 外键名;
alter table subject drop foreign key sub_g_key;
--删除subject表中sub_g_key键外键
外键的作用:以一个来源限制数据的范围(字典表)
create table student(
????stuId int(11) auto_increment primary key,
????stuName varchar(50),
????gradeId int(4),
????phone varchar(15),
????address varchar(2000),
????birthday date,
????constraint `s_g_key` foreign key(gradeId) references grade(GradeId)
);
--建student表并添加外键
alter table subject add constraint sub_g_key foreign key foreign key (gradeId)
refereces grade(GradeId);
--在表中添加外键属性
---------------------------------------
insert into student values
--在student表中插入多行数据
(2,'旭东',1,18550557900,'警官学院',now()),
(3,'陈建',2,18550447900,'警官学院',now()),
(4,'黎明',1,18550552300,'警官中学',now()),
(5,'名流',1,18553457900,'警官小学',now()),
(6,'康康',1,18554557900,'警官中专',now());
INSERT INTO grade VALUES (1,'大一'),(2,'大二'),(3,'大三'),(4,'大四');
--在grade表中插入多行数据
insert into student (gradeId,birthday,address,stuName)values
--student表中插入多行数据
(1,now(),'警官大学','葛java'),
(2,now(),'警官大学','一凡'),
(3,now(),'警官大学','郭楠'),
(4,now(),'警官大学','华子');
备注:插入的顺序要和上面一一对应
----------------------------------------------
alter table subject modify??SubjectNo int(11) auto_increment primary key;
--修改subject表中SubjectNo列将其设为自增并将其添加为主键
--auto increment为自增的意思,自增的意思是为了确保它是一定不重复的

2.表中添加列

insert into subject(SubjectNo,.......)
--在subject表中插入多个列

3.修改表中的内容:

update subject set SubjectName='高等数学' where SubjectNo=1;
--将subject表中的SubjectName列中SubjectNo为1的行的值改为‘高等数学’、
update subject set SubjectName='mysql', ClassHour=150,where SubjectNo=1;
--将subject表中的第一行SubjectName的值改为mysql,ClassHour的值改为150
update subject set GradeId=3 where ClassHour between 110 and 130;
--将ClassHour中110-130之间的GradeId的值都改为3(这种效率更高)
update subject set GradeId=3 where ClassHour >= 110 and ClassHour <= 130;
--将ClassHour中110-130之间的GradeId的值都改为3(这种会执行查找两次)
备注:and相当于&&,可以这么写,但不建议
update subject set GradeId=3 where ClassHour >= 110 or ClassHour <= 130;
备注:使用or会大大降低效率,实际中尽量避免用or

4.查看表里的详细内容

select * from

select *from user where username='root' and password='123';
--查询用户名为root,密码为123的用户
select *from user where username='root' and password='123' or 1=1;
--sql注入,不管输入啥,都会成功,因为1永远等于1
备注:between只能和and连用,不能和or
对null的判断是is和not,不能用=和!=。

5.delete命令:

delete from student where is null;
--删除student表中phone列中null的行删除
truncate table student;
--都是删除表
--重置表的状态,无法恢复,相当于初始化,会重新设置auto_increment。区别delete,delete是可以恢复的,
--delete是不可自增的。
*.frm表结构定义文件
alter table student modify??Sex int(2) auto_increment primary key;

6DML语句总结:

insert into 表名 [(字段列表)] values (值的列表)[,...];
update 表名 set 字段名=值[,...][where 条件语句];
delete from 表名 where 条件语句;
truncate table 表名;
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-24 08:01:04  更:2021-11-24 08:01:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:53:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码