mysql学习笔记之字段类型选择
1. 数据库的字段选择在数据表的结构关系确定之后,这个时候就需要去确定相应的数据表的字段类型1.1 字符串类型字段 char与varchar以及textchar => char(长度) -> 多长 varchar => 根据规定长度变化数据库中会保存varchar的长度在gbk与utf8的编码下char与varchar在设置同等长度的时候的对比gbk(1个字符,2个字节)...
2024-01-10mysql怎么修改列名
MySQL 中修改表字段名的语法规则如下:(推荐教程:mysql数据库学习教程)ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;其中,旧字段名指修改前的字段名;新字段名指修改后的字段名;新数据类型指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置成与原...
2024-01-10mysql字段选择是什么
说明1、根据实际需要,明确所需字段名称,用英文逗号分隔。2、获取所有字段,使用星号*匹配所有字段。3、字段数据不一定来自数据源(select只要有结果)4、只要确保数据需求能够实现,字段的选择就尽量少用*代替(MySQL优化)实例# 全部查询select * from t_6; # 需求为商品名字和价格select goods_name,go...
2024-01-10mysql约束的两种类型
说明1、列级约束:create创建表的时候添加在字段后面,限制的是指定列的字段。如 create table 表名 (name unique,age)。限制的就是name的唯一性。2、表级约束:create创建表的时候添加在括号前,所有字段后。如 create table 表名(name,age,unique(name,age))。限制的就是name+age联合起来的唯一,也叫做联合约束。实例非...
2024-01-10mysql位类型如何理解
说明1、对BIT类型来说,用来存放位字段值,BIT(M)可用于存放多位二进制数,M范围为1~64,如果不写,默认为1位。而且直接使用SELECT命令不会看到查询结果,需要使用bin()(二进制)或hex()(16进制)函数来读取。2、当数据插入bit两种类型的字段时,首先换为二进制,如果位数允许,则成功插入。如果位数超过...
2024-01-10Mysql锁的类型
基于锁的属性分类:共享锁、排他锁。基于锁的粒度分类:行级锁(INNODB)、表级锁(INNODB、MYISAM)、页级锁(BDB引擎 )、记录锁、间隙锁、临键锁。基于锁的状态分类:意向共享锁、意向排它锁。共享锁(Share Lock)共享锁又称读锁,简称S锁;当一个事务为数据加上读锁之后,其他事务只能对该数据加读锁...
2024-01-10mysql如何判断字段长度
mysql为我们提供两种查看方式:length()和char_length()。mysql里面的length()函数是一个用来获取字符串长度的内置函数。(推荐教程:mysql数据库学习教程)这两个函数的区别是:length(): 单位是字节,utf8编码下,一个汉字三个字节,一个数字或字母一个字节。gbk编码下,一个汉字两个字节,一个数字或字母一...
2024-01-10mysql如何添加自增字段
具体命令:(推荐教程:mysql数据库学习教程)创建自增字段create table table_name (id INT AUTO_INCREMENT PRIMARY KEY );更改初始值alter table table_name AUTO_INCREMENT=100举例:现有数据表xiami,建表的时候忘记添加自增字段,现需要添加自增字段第一步:添加字段alter table xiami add id int;第二步:修改字段alter t...
2024-01-10来自变量的mysql字段名称
是否可以选择名称为字符串的字段?SELECT 'fieldname' FROM table我需要这个来让触发器具有像这样的动态字段名称SET fieldname = NEW.`name`;UPDATE table SET fieldname = 1 ;回答:如果该字符串在您的外部应用程序(如PHP)中,请确保构造MySQL语句。如果字符串在MySQL表中,则不能。MySQL没有eval()或没有这样的功能。...
2024-01-10mysql设计字段的原则总结
1、尽量使用整型表示字符串。存储IPINET_ATON(str),address to number INET_NTOA(number),number to address2、定长和非定长数据类型的选择。decimal不会失去精度,存储空间会随着数据的增大而增大。double占有固定空间,大量存储会损失精度。不定长的有varchar、text。3、尽量选择小数据类型和指定短长度。4、尽...
2024-01-10mysql数据表按照某个字段分类输出
也许大家有时候会遇到需要将把数据库中的某张表的数据按照该表的某个字段分类输出,比如一张数据表area如下我们需要将里面的area按照serialize字段进行分类输出,比如这种形式:areas serialize阿蓝色,艾沙云 A重庆森林,传承家园 C红军楼小区,海员新村 H.........要以这种形式放映出来,于是可...
2024-01-10mysql中要写入数字可以用什么类型
MySQL支持所有标准的SQL数值数据类型,我们可以在写入数字时使用这些类型。(推荐教程:mysql数据库学习教程)这些类型包括数值数据类型INTEGER、SMALLINT、DECIMAL、NUMERIC和近似数值数据类型FLOAT、REAL、DOUBLE 、PRECISION。其中关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。BIT数据类型保存位字段值...
2024-01-10mysql中set类型如何理解
说明1、set和enum很像,也是一个字符串对象,可以包含0~64个成员。根据成员数量不同,存储器也不同。set类型可以一次选择多个成员。2、可以从允许值集中选择任何元素进行组合,因此只要输入的值在允许值的组合范围内,就可以正确记录在set类型的列中。对超出允许范围的值,报错。而且有重复成...
2024-01-10mysql中系统变量的两种类型
1、全局变量,作用域:针对于所有会话(连接)有效,但不能跨重启查看所有全局变量SHOW GLOBAL VARIABLES; 查看满足条件的部分系统变量SHOW GLOBAL VARIABLES LIKE '%char%'; 查看指定的系统变量的值SELECT @@global.autocommit; 为某个系统变量赋值SET @@global.autocommit=0;SET GLOBAL autocommit=0;2、会话变量,作...
2024-01-10mysql查询字段类型为json时的两种查询方式
表结构如下:id varchar(32) info json 数据:id = 1info = {"age": "18","disname":"小明"}--------------------------------------------现在我需要获取info中disanme的值,查询方法有:1.select t.id,JSON_EXTRACT(t.info,'$.disname') as disname from tableName t where 1=1结果:id = 1, disname=“...
2024-01-10mysql如何判断是否存在某个字段
判断表中一个字段是否存在的方法:语法:select count(*) from information_schema.columns where table_name = '表名' and column_name = '字段名'sql例子:select count(*) from information_schema.columns where table_name = 't_iov_vehicle_owner_info' and column_name = 'id'推荐:MySQL教程...
2024-01-10MySql修改默认字符编码
windows下在命令行下,查看当前数据库编码show variables like "%char%";mysql> show variables like "%char%";+--------------------------+---------------------------------------------------------+| Variable_name | Value |+--------------------------+-----------------------------...
2024-01-10mysql修改自增长主键int类型为char类型示例
原来有一个表中的主键是int自增长类型,因为业务变化需要把int改成char类型的主键。同时因为原来的表中已经存在了数据,不能删除表重建,只能修改表结构。首先去掉自增长属性:alter table table_name change indexid indexid int;然后去掉主键:ALTER TABLE table_name DROP primary key;修改表结构为char类型:...
2024-01-10mysql修改my.ini无效问题解决
背景:基于winsows,基于mysql3.7问题:修改完my.ini文件后,重启mysqld,端口之类设置没有改变。解决:原因在于mysqld启动时没有使用该my.ini配置启动。可以使用 --defaults-file= 参数指定my.ini绝对路径启动。例如我的"C:Program FilesMySQLMySQL Server 5.7inmysqld.exe" --defaults-file="C:Program FilesMySQLMySQL Server 5.7my.ini"...
2024-01-10mysql多字段内容并到单字段中的操作
set @rn=0; SELECT @rn:=@rn+1 序号, ryxm `人员姓名`, cylb `成员类别`, gzdw `工作单位`, zc `职称`, GROUP_CONCAT(zzqmc) AS `著作权名称`--多字段合并到一起 FROM (SELECT VCA.ryxm ryxm, VCA.cylb cylb, VCA.gzdw gzdw, VCA.zc zc, ...
2024-01-10使用pymysql循环删除重复数据,并修改自增字段偏移值
创建表: CREATE TABLE `info` ( `id` tinyint NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 插入数据:INSERT INTO info(`name`) VALUE("张三"),("李四"),("麻婆"),("王五");再插入一次:INSERT IN...
2024-01-10MAC下修改mysql默认字符集为utf8的方法
1,检查默认安装的mysql的字符集mysql> show variables like '%char%';+--------------------------+--------------------------------------------------------+| Variable_name | Value |+--------------------------+----...
2024-01-10Mysql日志文件和日志类型介绍
日志文件类型MySQL有几个不同的日志文件,可以帮助你找出mysqld内部发生的事情:日志文件记入文件中的信息类型错误日志记录启动、运行或停止mysqld时出现的问题。查询日志记录建立的客户端连接和执行的语句。更新日志记录更改数据的语句。不赞成使用该日志。二进制...
2024-01-10为什么mysql字段要使用NOT NULL
最近刚入职新公司,发现数据库设计有点小问题,数据库字段很多没有NOT NULL,对于强迫症晚期患者来说,简直难以忍受,因此有了这篇文章。基于目前大部分的开发现状来说,我们都会把字段全部设置成NOT NULL并且给默认值的形式。通常,对于默认值一般这样设置:整形,我们一般使用0作为默认值...
2024-01-10mysql 列转行,合并字段的方法(必看)
数据表:列转行:利用max(case when then)max---聚合函数 取最大值(case course when '语文' then score else 0 end) ---判断as 语文---别名作为列名SELECT `name`, MAX( CASE WHEN course='语文' THEN score END ) AS 语文, MAX( CASE WHEN course='数学' THEN score END ) AS 数学, MAX( CASE WHEN...
2024-01-10