计算机基础知识37

news2024/11/18 13:39:36

针对记录的SQL语句

记录: 表中的一行一行的数据称之为是一条记录

         先有库---->表---->记录

C:\Users\26647>mysql -u root -p  # 先登录
mysql> show databases;   # 查看所有库
mysql> create database db1;   # 创造库
mysql> use db1;   # 引用这个db1库
mysql> show tables;    # 查看所有表
mysql> create table t1(id int,name varchar(3),age int);    # 创造表
mysql> show tables;   # 看是否创造表成功
mysql> insert into t1 values(1,'zhoujiaqi',21);  # 插入记录
mysql> select * from t1;   # 查看所有记录

查看记录:select * from t1;  

增加数据:

insert into t1 values(1, 'kevin', 20);            # 全字段增加, 单条增加
insert into t1 values(2, 'kevin1', 20),(3, 'kevin2', 20),(4, 'kevin3', 20);       # 批量增加
insert into t1(id, name) values(7, 'kevin7');       # 空的使用NULL填充

修改

update t1 set name='tank' where id=1      # set后是修改的内容,where后是修改的条件
update t1 set age=30 where name='tank';
update t1 set name='jerry',age=30 where id=3;         # 可以同时修改两个条件
update t1 set name='oscar' where name='tank' and age=30;       # and 同时满足
update t1 set name='oscar' where name='kevin3' or name='kevin4';     # or 或者
update t1 set name='tony'      # 没有条件,全部修改

update t1 set age=age+40 where id=1;      # 在原有age数字的基础上+40

   """以后再自行更新和删除的sql语句的时候,一定要细心、好好看看你的条件是否正确"""

删除

    delete from t1 where id=1;
    delete from t1 where id=2 or id=7;
    delete from t1;       # 这是清空表

配置文件的使用

#  修改字符编码,防止乱码

mysql的配置文件是:my-default.ini---->复制一份---->重新命名my.ini

#  修改了配置文件,一定别忘了重启服务端才能生效

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

存储引擎的使用(理论,重要)

# 存储引擎就是存储数据的方式 ,MySQL支持多少种存储引擎方式

# 查看存储引擎:show engines;

一共九种存储引擎,重点学习:MyISAM、MEMORY、InnoDB

MYISAM: 是MySQL5.5版本及之前的版本默认的存储引擎、它的读取速度很快相比较与                        InnoDB,但是它的数据安全性较低,相对于InnoDB存储引擎
                   不支持事务、支持的是表锁
InnoDB:是MySQL5.6及之后的版本默认的存储引擎、它的读取速度相对慢一些,但是数                     据的安全性较高一些
                   支持:事务transactions、行锁row_level locking、外键foreign keys 
MEMORY: 是基于内存存储的,意味着断电数据丢失、重启服务端数据就丢失

# 演示:

create table t2 (id int, name varchar(64)) engine=MyISAM;    # 指定存储引擎
create table t3 (id int, name varchar(64)) engine=InnoDB;
create table t4 (id int, name varchar(64)) engine=MEMORY;   

# 数据存在data目录里,

# 对于不同的存储引擎,硬盘中保存的文件个数也是不一样的
MyISAM:3个文件—— .frm 存储表结构
                                      .MYD 存储的是表数据
                                      .MYI 存索引(当成是字典的目录,加快查询速度)
InnoDB:2个文件——.frm 存储表结构
                                    .ibd 存储数据和索引
MEMORY:1个文件—— .frm 存储表结构

数据类型之整型

#  整型: 存储整数的
               tinyin、smallint、int、bigint 
# 不同的数据类型区别就是所存储的范围不一样
    tinyint: 它是使用一个字节来保存数据,一个字节代表8位,256种情况(0-255) (-128-127)
    smallint : 2个字节, 代表16位, 65536(0-65535) (-32768-32767)
    mediumint : 3个字节
    int : 4个字节,2**32=42....(-21...- 21...)
    bigint : 8个字节(最大的) 可以存手机号(11)
# 选数据类型看存什么,尽量合情合理

create table t5 (id tinyint);   # 创建表
insert into t5 values(256);     # 增加数据

结论是:带符号的,所有的整型默认都是带符号的 减半
# 怎么样去掉符号:create table t6 (id tinyint unsigned);

数据类型之浮点型

         float、double、decimal
float(255, 30)       # 总位数是255位、小数点后60位
double(255, 30)   # 总位数是255位、小数点后60位
decimal(65, 30)   # 总位数是255位、小数点后60位

create table t7 (id float(255, 30));
create table t8 (id double(255, 30));
create table t9 (id decimal(65, 30));
    
insert into t7 values (1.11111111111111111111111111);
insert into t8 values (1.11111111111111111111111111);
insert into t9 values (1.11111111111111111111111111);

结论:三者的精确度不一样:decimal   >  double   >  float(精确到7位了)
    """就我多年的经验来看,大家都选decimal"""
    price decimal(8,2)    # 999.99    总长度是8位,小数占两位

数据类型之字符串(重要)

char(4): 定长类型,超出4位,就报错,不够4位,使用空格填充
varchar(4): 可变长类型,超出4位,报错,不够4位的,有几位存几位 

create table t10 (id int, name char(4));
create table t11 (id int, name varchar(4));
insert into t10 values(1, 'jerry');
insert into t11 values(1, 'jerry');

# 如果你想超出范围之后,直接报错,需要设置严格模式
    sql_mode
    show variables like "%mode%";
# 设置严格模式
    1. 命令行模式:临时修改
    set global sql_mode='STRICT_TRANS_TABLES'; # 不区分大小写
    2. 配置文件修改:永久修改,保存,重启  

#研究定长和不定长

create table t12 (id int, name char(4));
create table t13 (id int, name varchar(4));
insert into t12 values(1, 'ke');
insert into t13 values(1, 'ke');

#验证是否补充了空格
    select char_length(name) from t12;
    select char_length(name) from t13;
默认情况下,没有对char类型填充空格,如果想看填充了空格,需要设置严格模式
# 设置严格模式:1. 命令行模式:临时修改
    set global sql_mode='STRICT_TRANS_TABLES,PAD_CHAR_TO_FULL_LENGTH'; 
   2. 配置文件修改:永久修改

数据类型之日期和枚举

日期:date(年月日)、datetim(年月日时分秒)、time(时分秒)、year(年) 

create table t14 (        # 写多了可以分多行
    id int, 
    reg_time date, 
    reg1_time datetime, 
    reg2_time time, 
    reg3_time year);    
insert into t14 values(1, '2023-10-1', '2023-11-11 11:11:11', '11:11:11', 2023);

枚举:
# 多选一:enum

只能存这里面中的其中一个,不然报错

create table t15 (id int, hobby enum('read', 'music', 'tangtou', 'xijio'));
insert into t15 values(1, 'read');

 # 多选多:包含多选一   set 

create table t16 (id int, hobby set('read', 'music', 'tangtou', 'xijio'));
insert into t16 values(2, 'read,music1');

今日思维导图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1124892.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java逻辑运算符(、||和!),Java关系运算符

逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是 true 或 false。 逻辑运算符是对布尔型变量进行运算,其结果也是布尔型,具体如表 1 所示。 表 1 逻辑运算符的用…

科大讯飞星火认知大模型

哈喽,大家好! 前段时间「科大讯飞版ChatGPT」上线,给大家推荐了一波,演示了其强大的功能,不少小伙伴都立马申请体验了一把,也有私信说非常强大,工作效率提高不少,支持国产大模型&am…

【Python · PyTorch】数据基础

数据基础 1. 数据操作1.1 入门1.2 运算符1.3 广播机制1.4 索引和切片1.5 节省内存1.6 转化为其他Python对象 2. 数据预处理2.1 读取数据集2.2 处理缺失值2.3 转换为张量格式 本文介绍了PyTorch数据基础,Python版本3.9.0,代码于Jupyter Lab中运行&#xf…

linux系统安装jdk

1.从官网下载jdk包,Java Archive Downloads - Java SE 8u211 and later 2.创建java目录并上传jdk包 mkdir -p /home/local/java 3.解压jdk包 cd /home/local/java tar -zxvf /home/local/java/jdk-8u381-linux-x64.tar.gz 4.配置环境变量 vim /etc/profile i export JAV…

关于数据可视化那些事

干巴巴的数据没人看,数据可视化才能直观展现数据要点,提升数据分析、数字化运营决策效率。那关于可视化的实现方式、技巧、工具等,你了解几分?接下来,我们就来聊聊数据可视化那些事。 1、什么是数据可视化&#xff1f…

酒精壁炉:独特的室内取暖方式

酒精壁炉是一种现代而引人注目的室内取暖方式,其独特之处在于使用酒精作为唯一的燃料源。这种现代壁炉设计旨在为家庭带来温暖和舒适,同时呈现出简约而时尚的外观。 1、无需烟囱的壁炉 传统壁炉通常需要烟囱或排气系统,以排除燃烧过程中产生…

Java赋值运算符(=)

赋值运算符是指为变量或常量指定数值的符号。赋值运算符的符号为“”,它是双目运算符,左边的操作数必须是变量,不能是常量或表达式。 其语法格式如下所示: 变量名称表达式内容 在 Java 语言中,“变量名称”和“表达式…

RISC-V架构——物理内存保护机制设置函数(pmp_set)解析

1、物理内存保护机制 参考博客:《RISC-V架构——物理内存属性和物理内存保护》; 2、pmp_set函数源码 int pmp_set(unsigned int n, unsigned long prot, unsigned long addr,unsigned long log2len) {int pmpcfg_csr, pmpcfg_shift, pmpaddr_csr;unsign…

【C++和数据结构】位图和布隆过滤器

目录 一、位图 1、位图的概念 2、位图的实现 ①、基本结构 ②、set ③、reset: ④、test ⑤、问题: ⑥、位图优缺点及应用: ⑦、完整代码及测试 二、布隆过滤器 1、布隆过滤器的提出 2、布隆过滤器的实现 ①、基本结构 ②…

初识测开/测试

前言 在进入软件测试的正式讲解之前,我们需要对这个行业有一个整体的了解。 当我们从软件开发转向软件测试的时候,多数公司是欢迎的,而且难度也小。 反之,当我们从软件测试转向软件开发的时候,难度将会变得很大。 关于…

《持续交付:发布可靠软件的系统方法》- 读书笔记(七)

持续交付:发布可靠软件的系统方法(七) 第 7 章 提交阶段7.1 引言7.2 提交阶段的原则和实践7.2.1 提供快速有用的反馈7.2.2 何时令提交阶段失败7.2.3 精心对待提交阶段7.2.4 让开发人员也拥有所有权7.2.5 在超大项目团队中指定一个构建负责人 …

Mock测试详细教程入门这一篇就够了!

1、什么是mock测试 1.png Mock测试就是在测试活动中,对于某些不容易构造或者不容易获取的比较复杂的数据/场景,用一个虚拟的对象(Mock对象)来创建用于测试的测试方法。 2、为什么要进行Mock测试 Mock是为了解决不同的单元之间由于耦合而难于开发、测试…

01-React入门

React概述 react是什么? React用于构建用户界面的JS库。是一个将数据渲染为HTML视图的开源JS库。 为什么学? 1.原生JS操作DOM繁琐,效率低 2.使用JS直接操作DOM,浏览器会进行大量的重绘重排 3.原生JS没有组件化编码方案,代码…

【GA-LSSVM预测】基于遗传算法优化最小二乘支持向量机的回归预测(MATLAB代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

数字化转型如何影响企业全要素生产率(2007-2022年)

参照赵宸宇等(2021)的做法,本团队对来自财贸经济《数字化转型如何影响企业全要素生产率》一文中的基准回归部分进行复刻 一、数据介绍 数据名称:数字化转型如何影响企业全要素生产率 数据范围:上市公司 数据年份&am…

NSSCTF第8页(2)

[LitCTF 2023]就当无事发生 没有环境 [MoeCTF 2022]ezhtml 在js代码找到了flag [HNCTF 2022 WEEK2]ez_ssrf 题目描述说让我们访问index.php,看到了代码 传入的data会base64解码,传参port和host,还有一个没见过的函数fsockopen 查了一下 fsockopen函…

驱动开发LED灯绑定设备文件

头文件 #ifndef __HEAD_H__ #define __HEAD_H__typedef struct {unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; }gpio_t;#define PHY_LED1_ADDR 0x50006000 #define PHY_LED2_ADDR 0x50007000 #defin…

计算机算法分析与设计(18)---回溯法(介绍、子集和问题C++代码)

文章目录 一、回溯法介绍二、子集和问题2.1 知识概述2.2 代码编写 一、回溯法介绍 1. 回溯法(back tracking)是一种选优搜索法,又称为试探法,有“通用的解题法”之称,按选优条件向前搜索,以达到目标。但当探…

vue3 v-model的使用

🙂博主:锅盖哒 🙂文章核心:vue3 v-model的使用 目录 前言 什么是v-model? 基本的v-model用法 自定义组件中的v-model 前言 当涉及到Vue.js 3的前端开发时,v-model是一个不可或缺的工具,它…