首页 > 数据库 >数据库类型-下载-建立-查看-操作

数据库类型-下载-建立-查看-操作

时间:2024-08-27 10:49:31浏览次数:10  
标签:查看 数据库 class select student test where id 下载

关系型数据库:
oracle ===》收钱,大型的公司
msyql ===》开源的 免费的
sql server ===>微软

非关系型数据库:
hbase ===>大数据‘
Redis
mangdb

下载mysql:
yum install mysql
yum install mysql-server
rpm -qa |grep -i mysql ===》查看数据库有没有安装好
service mysqld restart ===>重启数据库 ===>mysql后面的d代表是一个守护进程daemon
service mysqld start ====》启动数据库
service mysqld stop ===>关闭数据库

mysql -uroot -p ====》u是用户 -p 是密码
exit ===》等同于ctrl+c 退出数据库界面
mysqladmin -uroot password "123456" ===》修改数据库密码为123456

数据库sql
show databases; ====》查看所有的库
create database dcs46; ===》创建一个仓库叫做dcs46
drop database dcs46; ===》删除dcs46这个库
use dcs46; ===》进入dcs46这个库
select database(); ===》查看当前在那个库
create table test(id int(20) primary key auto_increment,score float(20,2) not null
,name varchar(10),phone bigint(20) default 15377894561,time date);
上面建表的语句解释
创建一个叫做test的表,表里面有id字段 score字段,name字段 phone字段 time字段

desc test; ===》查看表结构

mysql> desc test;
+-------+-------------+------+-----+-------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+-------------+----------------+
| id | int(20) | NO | PRI | NULL | auto_increment |
| score | float(20,2) | NO | | NULL | |
| name | varchar(10) | YES | | NULL | |
| phone | bigint(20) | YES | | 15377894561 | |
| time | date | YES | | NULL | |
+-------+-------------+------+-----+-------------+----------------+

Field ==》字段
Type ===>数据类型
Null ===》是否可以为空
Key ===》primary key 主键
Default ===》默认值
Extra ==》额外的备注

数据库中常用的数据类型:
数值型:
int ===》整数 最大的存储值为:2147483647
bigint ====>可以存储超过2147483647这个数字
float ===》浮点型

文本型:【varchar类型和char类型存的数据需要加上双引号或单引号】
varchar ===>存字符串(不管是中文还是英文 都占2个字节 空格也是一个字符)
char ====》存字符串(英文占1个字节,中文占2两个字节 空格不算字符只能算占位符)

日期型:【日期型的数据也需要加上单引号或者双引号】
date ===>"2024-08-23"

数据库中的约束有哪些?
not null ===>非空约束
primary key ===>主键约束,里面的数据不能重复必须是唯一的
default ====>默认值约束 不填写就用默认值
auto_increment ===>自增长约束 1 ====》1+1 前面四个约束是对表数据的约束
foreign key ===>外键约束 对表和表之间的约束

对表结构的操作:alter table +表名
show tables; ===》查看当前库下有哪些表
alter table test1 rename dcs111; ===》将test1这个表的名字改为dcs111
alter table test change id sid int(10); ===>将test表中的id字段改为sid 并去掉自增长
alter table test change sid id int(10) auto_increment; ===>将test表中的sid字段改为id 并加上自增长
alter table test add class int(10); ===》加上一个class字段(默认放在最后面)
alter table test add sex int(10) first; =》加上一个sex字段放在最前面
alter table test add sex1 int(10) after id;
=》添加一个sex1字段放在id字段后面
alter table test modify class int(10) after id; ==》将已经存在的class字段移动到id字段后面
alter table test add(age1 int(10),age2 int(10)); ==》同时添加两个字段
alter table test drop sex1,drop age1,drop age2; ===》删除字段
drop table test; ==》删除test表

插入数据:
insert into 表
insert into test(id,score,name,phone,time)values(1,88.88,"zhangsan",17326056700,"2024-08-24");
insert into test values(2,98.02,"lisi",17326056800,'2024-08-25'); =》第二种插入数据的方式
insert into test(id,score,name,phone,time)values(3,78.00,"zhaoliu",17326056900,"2024-08-23"),(4,66.66,'xiaozhou',17326056400,"2024-01-02");
===》批量插入数据
insert into test(score,name,time)values(88.88,"zhangsan","2024-08-24"); ===》给指定字段插入数据
select * from test; 查询表里的具体数据

0不等于null ,null指的是一个空的属性,0代表的是一个值
面试题:给你一张表里面的一个字段怎么测试?
数据类型
约束类型
存储值的边界值

删除:delete from +表名
delete from test; ===》删除表中数据
delete from test where id=10; ==》删除指定数据,删除id为10的这条数据
truncate test; ====》快速删除表中数据
drop table test ===》删除test这张表

truncate,delete from,drop的区别
truncate:快速删除表中所有的数据,适用于删除大量的数据
delete from ===》根据条件删除数据,如果不接where会删除表中所有的数据,但是执行的速度没有truncate快
drop ====>删除表和表结构

修改表中数据:update
update student set math=81 where id=10; ===》修改id字段为10 的这个人的分数为81

查的sql:
1.不等于
select * from student where id<>2; ===>查询id不等于2的所有信息
select * from student where id!=2; ===>查询id不等于2的所有信息
2.同时满足多个条件,至少满足一个条件
select * from student where age>24 and age<31; ===》查询年龄大于24.小于31岁的信息
select * from student where age=28 or age=27; ===》查询年龄等于28或者年龄等于27的信息
3.包含和不包含
select * from student where class in (1833,1835); ==》查询班级为1833或1835的信息
select * from student where class not in (1833,1835); ==》查询班级不是1833或1835的信息
4.在.....之间 between的值包含自身
select * from student where age between 24 and 31; ==》查询年龄在24-31之间的信息
5.为空 不为空
select * from student where class is null; ==》查询班级为空的
select * from student where class is not null; ==》查询班级不为空的
6.查询指定行数
select * from student limit 5; ===》查询前五行的内容 等同于 limit 0,5
select * from student limit 2,5; ===》查询3-7行的数据 3-1=2 7-2
7.模糊匹配
select * from student where name like "xi%"; ===>查询姓名以xi开头的信息
select * from student where name like "%qi"; ==》查询姓名以qi结尾的信息
select * from student where name like "%ao%";-
=》姓名中带有ao的信息
select * from student where name like "xiaoli_"; ===》_表示一个字符
8.排序
select * from student order by math; ===》order by 默认是升序排序
select * from student order by math desc; ===》desc是降序排序
select * from student order by math asc; =====》acs是升序排序

9.分组 group by +字段 ==> 分组函数 group by
select count(),class from student group by class; ====>求每个班级的人数
select count(
) as "班级",class as "人数" from student group by class; ===》给查询出来的字段取别名
select count(*) a,class b from student group by class; ===》给查询出来的字段取别名

select * from (select max(math)a from student )b where a>90;

常用的聚合函数:
count(*) 统计
sum(math) 求和
avg(math) 求平均
max(math) 求最大值
min(math) 求最小值
distinct(math) 去重

注意点:group by
1.分组函数 group by 只能和聚合函数一起使用,还有分组的字段
2.where后面可以接group by 但是group by后面不能接where
3.group by 前面加where是为了先过滤在分组,where条件中不能包含聚合函数 统计,求和.....
4.where后面接group by 是为了先过滤在分组,having是跟group by连在一起用的,放在group by的后面,此时having的作用是先分组在过滤

1.求出每个班级数学成绩大于80分的人数
select class,count(*) from student where math>80 group by class;

2.求出每个班级性别为1的数学总成绩
select class,sum(math) from student where sex=1 group by class;

3.求出每个班数学总成绩大于200的班级和成绩信息
select class,sum(math) from student group by class having sum(math)>200;

标签:查看,数据库,class,select,student,test,where,id,下载
From: https://www.cnblogs.com/hutongxue/p/18382209

相关文章

  • 查看安装vs的相关配置
     "C:\ProgramFiles(x86)\MicrosoftVisualStudio\Installer\vswhere.exe"-all instanceId:50011384installDate:2023/12/417:15:19installationName:VisualStudio/17.10.0+34916.146installationPath:C:\ProgramFiles\MicrosoftVisualStud......
  • ThinkPHP 6 + PHP7.4.3nts +nginx 使用mysql和oracle数据库
    ThinkPHP6+PHP7.4.3nts+nginx使用mysql和oracle数据库.前言业务需求,之前使用的php7.3.4nts,mysql自己写的代码,需要对接第三方系统,第三方使用的oracle数据库。之前也是各种的网查,稀里糊涂的成功了。上周五又需要对接,这次用的是php7.4.3nts,各种试了两三天不行,昨晚就突然可以......
  • selenium4在使用 下载驱动的时候报错: THIRD_PARTY_NOTICES.chromedriver
    在使用seeleniun自动下载驱动时报错:THIRD_PARTY_NOTICES.chromedriver原来的代码运行一直没有错误的,现在运行后下载下来的驱动是上面的格式导致运行报错,在github和google上查了官方已经修复在4.0.2版本中已经修复通过重新安装或者升级安装pipuninstallwebdriver-manag......
  • 【Linux】进程|进程的查看与管理|创建进程
    目录1️⃣进程的概念(Process)1.什么是进程?2.多进程管理3.描述进程-PCB2️⃣进程的查看与管理1.使用指令查看进程2.通过系统调用函数查看pid3.杀掉进程4.ppid(父进程id)3️⃣创建进程fork()的工作原理父进程与子进程的关系写时复制(Copy-on-Write)fork()的使用1️⃣进......
  • MySQL数据库定时备份的几种实现方法
    MySQL数据库定时备份的几种实现方法更新时间:2024年07月22日10:44:48  作者:师小师 本文主要介绍了MySQL数据库定时备份的几种实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧+目录......
  • Adobe Lightroom Classic LRC v13.5 下载及安装教程 (图像后期处理软件)
    前言AdobeLightroomClassic为您提供强大的一键式工具和高级控件,使您的照片看起来很棒。轻松整理桌面上的所有照片,并以多种方式共享。使用LightroomClassic,您需要具备所有桌面编辑工具,才能充分发挥照片的作用。增强色彩,使沉闷的镜头充满活力,去除分散注意力的物体,并拉直歪斜的镜......
  • java连接sqlite数据库
    首先下载jar包(每种数据库有自己jar包)然后idea里创建新项目并且在项目里创建lib文件里面放jar包接着导入jar包然后apply->ok这样就连上如果要可视化数据库DBBrowser最后测试连接TestConnection看数据库连上没结果:......
  • java一键生成数据库说明文档html格式
    要验收项目了,要写数据库文档,一大堆表太费劲了,直接生成一个吧,本来想用个别人的轮子,网上看了几个,感觉效果不怎么好,自己动手写一个吧。抽空再把字典表补充进去就OK了先看效果:目录快速导航生成效果关键代码try{ StringprefixTables="sys_monitor_db_ha......
  • 【含文档】基于Springboot+Vue的流浪猫狗救助救援系统(含源码数据库)
    1.开发环境开发系统:Windows10/11架构模式:MVC/前后端分离JDK版本:JavaJDK1.8开发工具:IDEA数据库版本:mysql5.7或8.0数据库可视化工具:navicat服务器:SpringBoot自带apachetomcat主要技术:Java,Springboot,mybatis,mysql,vue2.视频演示地址3.功能该系统......
  • 卡关?风灵月影启动!《黑神话:悟空》风灵月影四十二项修改器预览(含下载地址)
    危!天命人速归!《黑神话:悟空》现已正式发售,风灵月影宗的弟子们,翘首以盼的时刻终于到来!下面就位大家带来直面天命的神器,助你在神话世界中所向披靡!《黑神话:悟空》风灵月影四十二项修改器https://download.csdn.net/download/Vernon_218/89632504第一步:下载修改器。第二步:下载完......