MySQL中的表操作,配置文件,储存引擎,数据类型

MySQL中的表操作

1 查库(已密码登陆mysql)

show databases;


 2 添加库

 create database t1;


 3 表操作

 1选定操作库

use t1

2在库里添加表格式

create table t1(id int, name varchar(32), gender varchar(32),age int);

 3往表里添加具体元素

insert into t1 values(1, 'kevin', 20,20);

 4往表里添加多组数据

 insert into t1 values(2, 'kevin1', 20,20),(3, 'kevin2', 20,20),(4, 'kevin3', 20,30),(5, 'kevin4', 20,20),(6, 'kevin5', 20,20);

 


4 修改表中数据

1修改单个值

 update t1 set name='tank' where id=1;

2把表中2个不同的值改为1个

 update t1 set name='oscar' where name='kevin3' or name='kevin4';

 


 3修改所有值为同一值(危险操作)

update t1 set name='tony';

5 删除表数据

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

6 流程一览 

C:\Users\艾森豪>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;   # 查看所有记录

MySQL配置文件的使用

"""mysql的配置文件是:my-default.ini"""
# 修改了配置文件,一定别忘了重启服务端才能生效
"""把一下内容加到配置文件中"""
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

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

存储引擎就是存储数据的方式!

MySQL支持多少种存储引擎方式
1. 如何查看存储引擎
show engines;
"""一共九种存储引擎,重点学习:MyISAM MEMORY InnoDB"""
MyISAM:
    它是MySQL5.5版本及之前的版本默认的存储引擎、它的读取速度很快相比较与InnoDB,但是它的数据安全性较低,相对于InnoDB存储引擎
    """不支持事务、支持的是表锁"""
InnoDB:
    它是MySQL5.6及之后的版本默认的存储引擎、它的读取速度相对慢一些,但是数据的安全性较高一些
    """它支持:事务、行锁、外键"""
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;

对于不同的存储引擎,硬盘中保存的文件个数也是不一样的

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

MySQL数据类型

1 整型: 存储整数的

整型: 存储整数的
    tinyint smallint int bigint 
    # 不同的数据类型区别就是所存储的范围不一样


    tinyint: 它是使用一个字节来保存数据,

    一个字节代表8位 11111111--->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)
 

    怎么选数据类型:看你这一列存什么数据
      比如:age int
    
    整型默认情况下带不带符号?
        create table t5 (id tinyint);
        insert into t5 values(256);
    结论是:带符号的,所有的整型默认都是带符号的 减半
    怎么样去掉符号
    create table t6 (id tinyint unsigned);

2 浮点型

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

3 字符串(重要)

    
    char(4): 定长类型,超出4位,就报错,不够4位,使用空格填充   abc helloworld
    varchar(4): 可变长类型,超出4位,报错,不够4位的,有几位存几位 abc a
    
    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. 配置文件修改:永久修改

4 日期

date           datetime          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);
 

5 枚举 

 多选一
    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');

END


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

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

相关文章

webgis开发参考资料

一、ArcGIS相关 1、ArcGIS for Server 10.3.X 新型紧凑型缓存的解读和应用 http://zhihu.geoscene.cn/article/1038 2、arcgis server 紧促(bundle)格式缓存文件的读取 https://blog.csdn.net/abc553226713/article/details/8668839 3、ArcGIS 10.0紧…

智慧燃气巡检管理系统

我们知道燃气设施的巡检、巡查是运维工作中一项重要的基础工作,而巡检人员主要靠手动记录,回到公司后还得再进行录入归档、导入照片,然后打印装订等,涉及工作量也是不小的;还有人员更替,易造成人员对燃气设…

GPT-2源码实现及GPT-3、GPT-3.5、GPT-4及GPT-5内幕解析

GPT-2源码实现及GPT-3、GPT-3.5、GPT-4及GPT-5内幕解析 Gavin大咖微信:NLP_Matrix_Space 5.1 ChatGPT提示词流程解析 本节主要是跟大家剖析 GPT内部的源码,在进入源码及运行项目之前,我们先思考一下ChatGPT的机制,ChatGPT默认情况下使用的模型是GPT-3.5,作者在日常工作中使…

模型部署笔记--Pytorch-FX量化

目录 1--Pytorch-FX量化 2--校准模型 3--代码实例 3-1--主函数 3-2--prepare_dataloader函数 3-3--训练和测试函数 1--Pytorch-FX量化 Pytorch在torch.quantization.quantize_fx中提供了两个API,即prepare_fx和convert_fx。 prepare_fx的作用是准备量化&#…

supervisor的使用

一、supervisor简介 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动&#xff…

Leetcode 2909. Minimum Sum of Mountain Triplets II

Leetcode 2909. Minimum Sum of Mountain Triplets II 1. 解题思路2. 代码实现 题目链接:2909. Minimum Sum of Mountain Triplets II 1. 解题思路 这一题思路上就是一个累积数组的思路。 我们要找一个山峰结构,使得其和最小,那么我们只需…

【GWO-KELM预测】基于灰狼算法优化核极限学习机回归预测研究(matlab代码实现)

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

Dapper中使用字符串作为动态参数查询时,结果不是预期的问题

1、如下图,c.industryId作为string类型当作参数传递,解析时会加单引号,即:”c.industryId“, 生成的查询语句就会变成 -- 这里把c.IndustryGroup 当成实际的值所以会查询不出数据 select b.Name,COUNT(c.Id) Num …

爬虫模拟用户登录

使用爬虫模拟用户登录过程一般包括以下几个步骤: 导入所需的库:一般需要导入requests和BeautifulSoup库来发送HTTP请求和解析HTML。 import requestsfrom bs4 import BeautifulSoup 发送GET请求获取登录页面:使用requests库发送GET请求&#…

Spring Boot OAuth 2.0整合详解

目录 一、Spring Boot 2.x 示例 1、初始化设置 2、设置重定向URI 3、配置 application.yml 4、启动应用程序 二、Spring Boot 2.x 属性映射 二、CommonOAuth2Provider 三、配置自定义提供者(Provider)属性 四、覆盖 Spring Boot 2.x 的自动配置…

数学建模——最大流问题(配合例子说明)

目录 一、最大流有关的概念 例1 1、容量网络的定义 2、符号设置 3、建立模型 3.1 每条边的容量限制 3.2 平衡条件 3.3 网络的总流量 4、网络最大流数学模型 5、计算 二、最小费用流 例2 【符号说明】 【建立模型】 (1)各条边的流量限制 &a…

Java赋值运算符(=)

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

执行autoreconf -fi的过程报错

https://xie.infoq.cn/article/6bba9dd34fb49b7adacb4aacd https://github.com/curl/curl/blob/master/docs/HTTP3.md#quiche-version curl配置quiche的过程中报错, configure:7902: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLLIf this token and ot…

Linux常用的调试工具

在开发和调试Linux的过程中,经常会遇到各种各样的问题,如程序崩溃、性能低下、内存泄漏等。这时候,调试就显得尤为重要。调试技巧和工具能够帮助开发人员快速定位问题并快速解决。在本文中,我们将介绍一些常用的Linux调试技巧和工…

acwing第 126 场周赛 (扩展字符串)

5281. 扩展字符串 一、题目要求 某字符串序列 s0,s1,s2,… 的生成规律如下: s0 DKER EPH VOS GOLNJ ER RKH HNG OI RKH UOPMGB CPH VOS FSQVB DLMM VOS QETH SQBsnDKER EPH VOS GOLNJ UKLMH QHNGLNJ Asn−1AB CPH VOS FSQVB DLMM VOS QHNG Asn−1AB,其…

MyBatis源码基础-常用类-Configuration

Configuration Configuration类a.java配置b.构建配置类 Configuration类 a.java配置 针对上述的xml配置,可以使用如下的java代码替换: Test public void testConfiguration() {Configuration configuration new Configuration();// 配置propertiesPr…

C++中作为类实例的对象

C中作为类实例的对象 类相当于蓝图,仅声明类并不会对程序的执行产生影响。在程序执行阶段,对象是类的化身。要使用类的功能,通常需要创建其实例—对象,并通过对象访问成员方法和属性。 在C中。类的对象就是该类的某一特定实体&a…

canvas绘制动态视频并且在视频上加上自定义logo

实现的效果&#xff1a;可以在画布上播放动态视频&#xff0c;并且加上自定义的图片logo放在视频的右下角 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthd…

找不到conda可执行文件:解决方法

1.在新版本的pycharm出现的问题如下&#xff1a; 2.解决方法: 2.1 将anaconda\Scripts\conda.exe选中 2.2选择自己的anconda自己的环境&#xff0c;之后就可以正常创建conda环境