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

Mysql基本使用语句(一)

一、登陆mysql查询数据库并创建一张表

1.1、mysql 登陆连接服务器
sudo mysql -uroot -p
1.2、查询已存在的数据库
show databases;

1.3、创建一个数据库
create databases d2;

1.4、使用一个数据库,并查询当前所用的数据库
use d2;//使用u2数据库
select database();//查询当前所用的数据库

1.5、往d2数据库里添加一张名为学生的表,包括学生名字为可变成字符串类型、id为无符号整形且设为主键且自动增长、电话号码为可变长字符串类型且不能为空;
create table student(name varchar(10),id int unsigned primary key auto_increment,phone varchar(20) not null );

查看当前有哪些表,并查看学生表的数据类型:

show tables;
desc student;

查看这张表的创建细节:

show create table student \G;

1.6、往表里添加学生信息:姓名为:张三,学号为1234,手机号码为12345678901;
insert into student values('张三',1234,'12345678901');

查询插入后的数据:

select *from student;

二、对表的增删改

2.1、增加一列班级信息,属性为varchar类型,且不能为空,默认为一班,并添加备注信息;
 alter table student add class varchar(10) not null default '一班' comment '默认为一班';

查询更改后的表属性:

desc student;

往表里添加一行学生信息:名字:李四,id:1235,电话:'12345678902', 班级:不设置;

insert into student(name,id,phone) values('李四',1235,'12345678902');

查看插入后效果:

2.2 、修改class列名为address,类型为固定字符类型:
alter table student change class address char(30);

查询修改后的效果:

2.3、更新张三、李四的地址为'广州'和 '北京':
update student set address ='广州' where name='张三';
 update student set address='北京' where name='李四';

查询更新后的结果:

2.4、删除一行信息
 delete from student where name='张三';

查询删除后的效果:

2.5、删除一列信息
 alter table student drop phone;

删除后的效果:

2.6、删除整个表
drop table student;

删除后的效果:

三、表的约束

3.1、表的主键

什么是主键:用来唯一的约束该字段里的数据,不能重复,不能为空,一张表中最多一个主键,主键所在列通常是整数类型;

3.2、创建表时添加主键:关键字:primary key
 create table student(id int unsigned primary key,name varchar(30) not null,class varchar(20) not null);

查看创建好的表的属性:

查看表创建时的细节:

往表里插入数据时id不能为空,不能重复:

当输入为空时:

正常插入:

当插入id重复时:

3.3、去掉主键
 alter table student drop primary key;

查询去掉后的效果:

查看当前表信息:

插入重复id:

insert into student values(1,'李四','二班');

查询当前表信息:

重复id被插入:

3.4、自增长主键

创建一个学生表并把id设为自增长主键:

create table student(id int primary key auto_increment,name varchar(30));

查看表属性:

向表中插入数据时,id会自增长:

3.5、唯一键

主键与唯一键相互补充,不冲突,唯一键可以为空,唯一键不能重复;

修改前表属性:

设置学生名为唯一键:

alter table student add unique (name);

查询修改后表属性:

查看当前表:

当插入相同名字时:

插入其他名字:

3.6、外键

主要强调表跟表之间的关联,表跟表之间的约束!

学生表信息:

班级表信息:

设置学生表中的classid为外键,跟班级表中的id产生关联,其中学生表为从表,班级表为主表:

 alter table student add constraint fk_student_class foreign key(id) references class(id);

当删除class表中的'土木工程'列时:

无法删除,因为student 中存在与class表关联的外键,要先把student中的关联的外键行先删掉,也就是先把所有土木工程的学生先删掉:

此时再把'土木工程删掉':

同理,相反,当往student里插入数据时,如果在class表里面没有出现过的id也一样无法插入

查看当前student表、class表:

只有在class表中与之关联的主键出现过的id才能插入:

今天分享到这里,如果对你有所帮助记得点赞收藏+关注哦!!谢谢!!!

咱下期见!!!

http://www.xdnf.cn/news/1296577.html

相关文章:

  • 读《精益数据分析》:移情(Empathy)—— 验证真实需求,避免伪需求陷阱
  • OpenLayers与Vue.js结合实现前端地图应用
  • 51单片机-驱动LED模块教程
  • 机器视觉之图像处理篇
  • 相较于传统AR作战环境虚拟仿真系统,其优势体现在哪些方面?
  • Flutter 顶部导航标签组件Tab + TabBar + TabController
  • 读From GPT-2 to gpt-oss: Analyzing the Architectural Advances
  • 线上故障定位:从报警到根因的实战指南
  • 计算机如何进行“卷积”操作:从图像到矩阵的奥秘
  • 设计模式笔记_行为型_责任链模式
  • [机器学习]08-基于逻辑回归模型的鸢尾花数据集分类
  • 高分辨率PDF压缩技巧:保留可读性的最小体积方案
  • 通过网页调用身份证阅读器http websocket方法-华视电子————仙盟创梦IDE
  • 【数据结构初阶】--排序(一):直接插入排序,希尔排序
  • MySQL的索引(索引的创建和设计原则):
  • 并发编程 - 读写锁(ReentrantReadWriteLock)的探究
  • JVM的逃逸分析深入学习
  • T05_卷积神经网络
  • 消费级显卡分布式智能体协同:构建高性价比医疗AI互动智能体的理论与实践路径
  • TypeScript 中,! 是 非空断言操作符
  • 上网行为安全概述和组网方案
  • EN 61010电子电气设备安全要求标准
  • 抗辐照CANFD通信芯片在高安全领域国产化替代的研究
  • 从根源到生态:Apache Doris 与 StarRocks 的深度对比 —— 论开源基因与长期价值的优越性
  • Gemma 3 多模态推理 通过vllm运行Gemma-3-27B-IT模型的推理服务
  • NineData云原生智能数据管理平台新功能发布|2025年7月版
  • 基于U-NET遥感影像语义分割任务快速上手
  • git upstream
  • 流式数据服务端怎么传给前端,前端怎么接收?
  • 入门概述(面试常问)