MySQL初 一

该博客围绕SQL操作展开,涵盖环境准备与连接,介绍了Navicat快捷键。详细阐述了数据库操作,如查看、创建、删除、修改编码集等;表操作包括建表、改结构、改表名、删除等;还涉及数据的插入、修改、删除语句,以及查询、聚合函数和分组操作。

环境准备

mysql安装,注意将安装目录和数据目录放在一起。
-- 配置环境变量: 安装目录/bin
--检查是否安装成功

连接

 mysql [-h 连接的主机ip -P端口3306] -u 用户名 -p 密码
 如果连接的是本机:可以省略 -h  -P  主机IP和端口。

Navicat 快捷键
注释:Ctrl+/
运行选中的:Ctrl+shift+r

SQL分类

DDL    (数据定义语言) Data Defination Language
--create drop alter  truncate(清空数据表记录)
DCL    (数据控制语言) Data Control Langugae
--grant    revoke    begin transation等
DML    (数据操作语言) Data Manipulation Language
--update  insert   delete   不包含查询
DQL    (数据查询语言) Data 	Query Language
--select

查看所有数据库

show databases;
--information_schema数据库
虚拟数据库,保存着关于MySQL服务器所维护的所有其他数据库的信息。
如数据库名,数据库的表,表栏的数据类型与访问权限等。

--mysql数据库
mysql库是系统库,里面保存有账户信息,权限信息,存储过程,event,时区等信息。

--performance_schema数据库
存储引擎,主要用于收集数据库服务器性能参数。
    
--test数据库
测试数据库,没有任何表
查看数据库编码集
--show create database*库名 
查看数据库的创建方式:查看数据库的编码表;

创建数据库

--create database 数据库名 character set 编码表名;
创建数据库使用指定编码表

--create database 数据库名;
未指定编码表,使用安装数据库时默认的编码表

编码表
java     UTF-8;   GBK;    GB2312;   ISO-8859-1
mysql    utf8;    gbk;    gb2312;   latin1;   

删除数据库

drop database 数据库名;

修改数据库编码集

alter database 数据库名称 chracter set 字符集

切换数据库

use 数据库名;

查看当前数据库

select database();

建表相关

语法:
create tabele 表名(
			列名  类型(长度),
			列名  类型(长度),
			........   ........  .......
			列名  类型(长度)
			);
--建表一定要切换到一个具体的数据库, use 数据库名
--一个数据表可以存多个字段,每个字段有类型和长度
--列之间逗号隔开,最后一个列不行要逗号

数据类型:
	-字符类型
varchar : 列的长度可变
char : 列的长度固定,不可变

	-数值型
整形:THINYINT  SMALLINT  INT  BIGINT
小数:FLOAT(单精度)  DOUBLE(双精度)

	-位数据类型(逻辑性)
BIT :  1或0组成的数据
	   1 表示true
	   0 表示false

	-日期型
DATE       只有日期   2017年06月07号
Time       时分秒     16时17分28秒
DateTime   日期和时间都包含 年月日时分秒
TIMESTAMP  日期和时间都包含,自动更新为表数据被修改的时间

单表创建时的约束
*主键约束 primary key  非空 唯一
 定义格式: 列名 列的类型 primary key
    补充:自增长  auto_increment  (主键是int类型,才可以添加自增长)	
ex: id int primary key auto_increment
    	
*唯一约束 unique
		该字段的值不允许重复,可以为空(空不算重复)
		一张表中可以有很多个唯一约束
格式  列名 类型(长度)unique
ex: name varchar(20) unique

*非空约束 not null
格式  列名 类型(长度)not null
ex: age int not null

查看表
 show tables;   查看该数据库所有表

查看具体某张表的机构
 desc 表名; 

修改表结构(对列的增删改)

alter table 表名 增/删/改 列名 类型(长度)约束;
--可以对表名、表中的列名、列的类型进行增删改。

alter table 表名 add 列名 类型(长度)约束;
--增加列

alter table 表名 modify 列名 类型(长度)约束;
--修改现有列类型、长度和约束

alter table 表名 change 旧列名 新列名 类型(长度)约束;
--修改现有列名称

alter table 表名 drop 列名;
--删除现有列

alter table 表名 character set 编码集;
--修改表的编码集

改表名

rename table 旧表名 to 新表名;
--修改表名 

表删除

drop table 表名;
--drop table emp;

insert语句–向表中插入数据

insert into 表名(列1,列2,列3...) values (值1,值2,值3...);
--写全
  值与列一一对应,如果某一列没值,可以使用null。
  使用单引号表示字符串
  date型数据也用单引号括起来
  如果主键自增长,可以直接插入null
	
insert into 表名(列,列,列...) values (值,值,值...);
--省略部分列
	某些列可以为null,或者自增长的列,或者有默认值,可省略

insert into 表名 values (值,值,值,值);
--省略所有的列
  如果给表中所有列插入数据,这时可以省略表名后面的列名,直接写values

1)如果主键:是自增长。不需要人工赋值(可以给值null)。数据库会按照自己的算法,为主键填充值。
2)通常遇到主键自增长,人工赋值的时候,赋值null。mysql会自己把null替换成新的值。
 数据的插入:
两种方式 -- 根据列名插入对应的值
直接插入所有的列  -  将列名省略掉

update语句(修改数据)

update 表名 set 列名=值,列名=值...[where 条件语句]
---如果不加条件语句,将会修改某一列的所有值
update person set username='zhaoliu',password='zhaoliu'where id =5;

delete 语句(删除表数据)

delete from 表名 【where 条件语句】
---不添加where条件,会删除表中所有数据。表依然存在,是空表
---delete是删除行数据
---删除后,再添加数据是接着之前的编号增长的
---数据可恢复。怎么恢复???

truncate语句(删除数据)

truncate table 表名;
--先删除表中所有内容,再创建表。
--只能删除一张表的数据,不能有条件删除。不能恢复数据。

truncate函数和round函数

SELECT ROUND(3.45,1),ROUND(3.45,0),ROUND(123.45,-1),ROUND(167.8,-2);
     --3.5  --3  --120  --200

SELECT TRUNCATE(2.34,1),TRUNCATE(4.56,1),TRUNCATE(4.56,0),TRUNCATE(56.78,-1);
    --2.3  --4.5  --4  --200

drop语句

drop table person;
---把person表从数据库中删除。表已经不存在了,不能向里面添加数据

查询

select * from 表名;
--查询表中所有信息
---select * from student;

select 列名,列名... from 表名;
--显示指定列数据。
---select name,score from student;

select 列名,列名... from 表名 where 条件;
--查找符合where条件的数据
---select * from student where age >= 24;

select distinct 列名 from 表名 [where 条件]
--去重复 distinct

select * from 表名 order by 列名1 asc|desc , 列名2 asc|desc ...
--order by 排序 。 默认是asc升序。

select 列名 as 别名,列名 as 别名...from 表名 where 条件;
--别名
--注意:再使用别名的时候,as关键字可以省略

运算符
>(大于)  <(小于)  >=(大于等于)  <=(小于等于) 
=(等于)    <>或者!=(不等于)

and 逻辑与
or 逻辑或
not  逻辑非
between 开始值 and 结束值
in(值1,值2,值3)在指定的值中任意取

模糊查询:like'模糊查询部分'
占位符:
 % 表示零个或任意多个字符
 _  表示任意单个字符
注意:含有某个值 %xx%

is null 判断该值是否为空
is not null :不是空

聚合函数

定义:多个数据进行运算,运算出一个结果

count函数 (统计行数)
--select count(*)  from 表名;
  统计表中的行数
--select count(列名)  from 表名;
  按具体列统计行数,不统计null值所在行

sum函数(求和)
--select sum(列名),sum(列名),... from 表名;
 使用sum进行多列求和的时候, null + 任何值=null
 解决?
 
 ifnull(列名,默认值)
---select sum(ifnull(age,0)+IFNULL(score,0)) from student;
怎么控制小数点?truncate(列名,截取的小数位)
---select truncate(sum(ifnull(age,0)+IFNULL(score,0)),2) from student;

avg函数(求平均值)
--select avg(列名) from 表名;
  求某列的平均值,avg里面的null不作为统计
---select sum(age)/count(age) from student;
---select avg(age) from student; 和上面结果一夜

max,min函数(统计该列最大最小值)
--select max(列名),min(列名) from 表名;(null除外)
---select max(score),min(score) from student;

grop by 分组

--select ... from ... group by 列名,列名;
---select id,product,sum(price) from orders group by product,price; 
    先分组,再计算
    通常select 后面的内容是被分组的列,或者聚合函数

having和where的区别
-Where跟的条件 having都可以,having单独使用的时候的条件在查询中的字段必须包含!!!
-having 后面可以跟聚合函数,where后面不能跟聚合函数
 聚合函数(sum,avg,max,min,count)
-where是在分组前进行过滤。
-having是在分组后进行过滤。
---select id,product,sum(price) from orders where id>3 group by product having sum(price)>30;
---先执行where id>3 --> group by product --> having后面的sum(price)>30- -->select 后面的内容 --->order by 排序

排序
select ...要显示的内容
from ... 表名
where ...关联条件 
group by ...分组的列
having ... 分组后的条件
order by (asc desc) ... 排序;
标题SpringBoot智能在线预约挂号系统研究AI更换标题第1章引言介绍智能在线预约挂号系统的研究背景、意义、国内外研究现状及论文创新点。1.1研究背景与意义阐述智能在线预约挂号系统对提升医疗服务效率的重要性。1.2国内外研究现状分析国内外智能在线预约挂号系统的研究与应用情况。1.3研究方法及创新点概述本文采用的技术路线、研究方法及主要创新点。第2章相关理论总结智能在线预约挂号系统相关理论,包括系统架构、开发技术等。2.1系统架构设计理论介绍系统架构设计的基本原则和常用方法。2.2SpringBoot开发框架理论阐述SpringBoot框架的特点、优势及其在系统开发中的应用。2.3数据库设计与管理理论介绍数据库设计原则、数据模型及数据库管理系统。2.4网络安全与数据保护理论讨论网络安全威胁、数据保护技术及其在系统中的应用。第3章SpringBoot智能在线预约挂号系统设计详细介绍系统的设计方案,包括功能模块划分、数据库设计等。3.1系统功能模块设计划分系统功能模块,如用户管理、挂号管理、医生排班等。3.2数据库设计与实现设计数据库表结构,确定字段类型、主键及外键关系。3.3用户界面设计设计用户友好的界面,提升用户体验。3.4系统安全设计阐述系统安全策略,包括用户认证、数据加密等。第4章系统实现与测试介绍系统的实现过程,包括编码、测试及优化等。4.1系统编码实现采用SpringBoot框架进行系统编码实现。4.2系统测试方法介绍系统测试的方法、步骤及测试用例设计。4.3系统性能测试与分析对系统进行性能测试,分析测试结果并提出优化建议。4.4系统优化与改进根据测试结果对系统进行优化和改进,提升系统性能。第5章研究结果呈现系统实现后的效果,包括功能实现、性能提升等。5.1系统功能实现效果展示系统各功能模块的实现效果,如挂号成功界面等。5.2系统性能提升效果对比优化前后的系统性能
在金融行业中,对信用风险的判断是核心环节之,其结果对机构的信贷政策和风险控制策略有直接影响。本文将围绕如何借助机器学习方法,尤其是Sklearn工具包,建立用于判断信用状况的预测系统。文中将涵盖逻辑回归、支持向量机等常见方法,并通过实际操作流程进行说明。 、机器学习基本概念 机器学习属于人工智能的子领域,其基本理念是通过数据自动学习规律,而非依赖人工设定规则。在信贷分析中,该技术可用于挖掘历史数据中的潜在规律,进而对未来的信用表现进行预测。 二、Sklearn工具包概述 Sklearn(Scikit-learn)是Python语言中广泛使用的机器学习模块,提供多种数据处理和建模功能。它简化了数据清洗、特征提取、模型构建、验证与优化等流程,是数据科学项目中的常用工具。 三、逻辑回归模型 逻辑回归是种常用于分类任务的线性模型,特别适用于二类问题。在信用评估中,该模型可用于判断借款人是否可能违约。其通过逻辑函数将输出映射为0到1之间的概率值,从而表示违约的可能性。 四、支持向量机模型 支持向量机是种用于监督学习的算法,适用于数据维度高、样本量小的情况。在信用分析中,该方法能够通过寻找最佳分割面,区分违约与非违约客户。通过选用不同核函数,可应对复杂的非线性关系,提升预测精度。 五、数据预处理步骤 在建模前,需对原始数据进行清理与转换,包括处理缺失值、识别异常点、标准化数值、筛选有效特征等。对于信用评分,常见的输入变量包括收入水平、负债比例、信用历史记录、职业稳定性等。预处理有助于减少噪声干扰,增强模型的适应性。 六、模型构建与验证 借助Sklearn,可以将数据集划分为训练集和测试集,并通过交叉验证调整参数以提升模型性能。常用评估指标包括准确率、召回率、F1值以及AUC-ROC曲线。在处理不平衡数据时,更应关注模型的召回率与特异性。 七、集成学习方法 为提升模型预测能力,可采用集成策略,如结合多个模型的预测结果。这有助于降低单模型的偏差与方差,增强整体预测的稳定性与准确性。 综上,基于机器学习的信用评估系统可通过Sklearn中的多种算法,结合合理的数据处理与模型优化,实现对借款人信用状况的精准判断。在实际应用中,需持续调整模型以适应市场变化,保障预测结果的长期有效性。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值