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

Linux云计算训练营笔记day07(MySQL数据库)

数据库 DataBase
保存数据的仓库

数据库管理系统 DBMS
这是一个可以独立运行,用于维护磁盘上的数据的一套软件

特点:
维护性高,灵活度高,效率高,可扩展性强

常见的DBMS
Mysql
Mariadb
Oracle
DB2
SQLServer

MySQL是一个关系型数据库管理系统(DBMS)
SQL 语言

DATABASE数据库 => TABLE表格 => row行 x col列
库 是表的集合,在不同的项目创建不同的库,来保存项目中所需要用到的数据
表 是一句具有相同属性数据的集合,分为行和列
行 具有这组属性的一条具体数据
列 数据应具有的属性信息

DBMS安装以后是一个独立可运行的软件,并且是以服务端形式在操作系统中运行的,想要操作数据库
需要以客户端身份与DBMS进行链接

客户端(命令行工具 数据库自带的)

Mariadb
客户端连接数据库服务端
1)mysql -uroot -p
密码 root

2)mysql -uroot -proot

3)mysql -uroot -P3306 -h127.0.0.1 -proot
-u: user 用户名
-P: port 端口号
-h: host IP地址
-p: password 密码

exit 退出

我们是以客户端形式与服务端进行链接,向数据库发送指令,让数据库相关的操作
发送的指令就是SQL(Structured Query Language) 结构化查询语言

SQL特点:
不区分大小写; 关键字大写,非关键字小写

SQL分类
DDL 数据定义语言 对数据库对象的相关操作
DML 数据操作语言 增加Insert 修改 UPDATE 删除 DELETE
DCL 数据控制语言 对数据库维护操作,例如权限管理

DDL 数据定义语言 - CREATE ALTER DROP
创建一个数据库
create database 数据库名 [charset=编码字符集];
CREATE DATABASE 数据库名 [charset=编码字符集];

CREATE DATABASE jd charset=utf8; 创建一个jd数据库,编码字符设置为utf8
create database taobao charset=gbk; 创建一个taobao数据库,编码字符设置为gbk

显示所有的数据库
show databases;

显示创建数据库的信息
show create database jd;

create database pinduoduo; 创建数据库pinduoduo,使用默认字符集
show create database pinduoduo; 默认是 latin1 字符

删除数据库
drop database 数据库名;
drop database taobao; 删除taobao数据库
show databases; 显示所有的数据库

DBMS下会有多个数据库,只有切换到对应的数据库才能对立面的表进行操作
切换数据库
use 数据库名
use jd;

练习:
1.创建数据库db1,设置字符集为utf8;
create database db1 charset=utf8;
2.查看db1数据库的创建语法
show create database db1;
3.删除db1数据库
drop database db1;
4.显示所有的数据库
show databases;

创建一张表
create table 表名(
字段名 类型(长度),
字段名 类型(长度),
字段名 类型(长度)
);
create table user(
id int(3), int为整数类型,长度是数字的位数
name varchar(32), varchar是字符串类型,括号里的是指定长度,单位是字符
address varchar(32)
);
查看库中所有的表
show tables;
查看创建表的信息
show create table user;
查看表结构
desc 表名;
desc user;
修改表名
rename table 原表名 to 新表名
rename table user to userinfo;
或者
alter table 原表名 to 新表名
alter table user_info rename user

删除表
drop table 表名
drop table userinfo;

练习:
1)创建数据库lol,字符集使用gbk
create database lol charset=gbk;
2)切换lol库
use lol;
3)创建hero表,有名字和金额
create table hero(
name varchar(10),
money int(6)
);
4)查看hero表的结构
desc(describe) hero;
5)修改表hero为yxlm
rename table hero to yxlm;
alter table hero rename yxlm;
6)删除表yxlm
drop table yxlm;

添加一个字段
alter table 表名 add 字段名 类型 first
alter table user add address varchar(10) first;

在表中添加一个字段
alter table 表名 add 字段名 类型 after 表中某字段
alter table user add email varchar(10) after id;

修改表中现在字段
alter table 表名 change 原字段名 新字段名 类型
alter table user change id id varchar(10);

删除表中字段
alter table 表名 drop 字段名
alter table user drop email;

练习:
1)创建数据库tedu,字符集使用utf8
create database tedu charset=utf8;
2)创建teacher表,有name字段 varchar类型
use tedu
create table teacher(
name varchar(10)
);
3)添加表字段,最前面添加id int类型 最后添加age int 类型, 在age前面添加salary工资 int类型
alter table teacher add id int first;
alter table teacher add age int;
alter table teacher add salary int after name;
4)删除age字段
alter table teacher drop age;
5)修改表名student
rename table teacher to student;
6)删除表student
drop table student;
7)删除库tedu
drop database tedu;

DML语言 数据操作语言 : 对表中的记录进行操作的语言
insert: 向表中插入记录操作
update: 修改表中的记录操作
delete: 删除表中的记录操作

create database tedu charset=utf8;
use tedu;
create table person(
name varchar(20),
age int(3)
);

insert 向表中插入记录
语法:
insert into 表名 values(值)
insert into person values(“张三”,28);
insert into person(name, age) values(“龚里”,30);
insert into person(name) values(“小7”);
insert into person(age, name) values(20,“小六子”);
注意事项:
1)数据库中字符串对应的值必须使用(英文)引号括起来
2)insert语句中values子句执行的值顺序,个数,类型 要和前面指定的字段一样

insert语句中没有指明的字段,记录中插入默认值NULL
默认值的设定,可以在创建表和修改表进行
create table people(
name varchar(20) default “貂蝉”,
age int(3)
);
insert into people(age) values(18);
select * from people;

修改表时为字段补充默认值
alter table person change name name varchar(20) default “龚里”;
insert into person(age) values(28);
select * from person;

插入NULL和默认值
向name插入默认值: insert into person values(default,25);
向name插入NULL值: insert into person values(NULL,35);

批量插入:
可以在values子句中同时指定多组值,插入多条记录
insert into 表名 values(值),(值2),(值3)
insert into person(age) values(18),(19),(20);
insert into person values(“老六”,18),(“老七”,19),(“老八”,20);

update 修改表中数据
update 表名 set 字段=值 [where 过滤条件]
update person set age=18 where name=“张三”;
update person set name=“貂蝉”;
注意事项:
update语句不添加where子句时,表示表中每条记录都会进行修改

alter table person add id int first;

查询表中的数据
select * from 表名;
select * from person;

相关文章:

  • MySQL 8.0 OCP 1Z0-908 51-60题
  • SSH免密登录的5种实现方法
  • k8s初始化时候,报错无法通过 CRI(容器运行时接口)与 containerd 通信
  • 2025.05.10京东机考真题算法岗-第二题
  • 【数据结构】——栈和队列OJ
  • TCP核心机制
  • list基础用法
  • Docker疑难杂症解决指南
  • ThingsBoard3.9.1 MQTT Topic(4)
  • python常用算法总结(下)
  • 基于STM32、HAL库的TLV320AIC3101IRHBR音频接口芯片驱动程序设计
  • [250512] Node.js 24 发布:ClangCL 构建,升级 V8 引擎、集成 npm 11
  • webservice获取全国省份区县编码(拼音全拼+拼音简写)
  • linux 抓包工具tcpdump使用小记(使用时注意权限和系统资源)
  • OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——mqtt库
  • 时间序列预测建模的完整流程以及数据分析【学习记录】
  • 从零开始了解数据采集(二十七)——什么IIOT平台
  • 源码分析之Leaflet中GeoJSON模块
  • 信息学奥赛一本通 1535:【例 1】数列操作
  • 信奥赛-刷题笔记-队列篇-T2-P1540机器翻译和P2952Cow Line S
  • 全国汽车以旧换新补贴申请量突破1000万份
  • 复旦相辉堂上演原创历史人物剧《王淑贞》,胡歌参演
  • 75万采购防火墙实为299元路由器?重庆三峡学院发布终止公告:出现违法违规行为
  • 广西钦州:坚决拥护自治区党委对钟恒钦进行审查调查的决定
  • 白宫启动“返乡计划” ,鼓励非法移民自愿离开美国
  • 溢价26.3%!保利置业42.4亿元竞得上海杨浦宅地,楼板价80199元/平方米