当前位置: 首页 > news >正文

mysql基础增删改查语句汇总

mysql基础查询修改语句

mysql一个字段值挪到另一个字段

#将 test2 的值移动到 test3 UPDATE your_table SET test3 = test2;

mysql取某一字段内的某部分值,赋予其他字段

#字段path的值为/test/old/a/cer/ne/qww/,编写sql取第四个/后,第五个/前的内容,赋予test字段,这只是其中一条数据,其他数据path的值都不一致,但是/数量一致 UPDATE your_table SET test = SUBSTRING_INDEX(SUBSTRING_INDEX(path, '/', 5), '/', -1); #SUBSTRING_INDEX(path, '/', 5) 提取到第五个 / 为止的所有内容,包括第五个 /。 #然后,SUBSTRING_INDEX(..., '/', -1) 从上一个函数的结果中提取最后一个 / 后的内容(即第五个 / 前的部分

mysql只保留字段内容前几位

#test字段的值为00-01-02-03,编写sql,将test字段的现有值改为只保留前五位,变成00-01, 这只是其中一条数据,其余数据都不一致但格式相同 UPDATE your_table SET test = LEFT(test, 5);

两表指定数据匹配修改

#当表test_new内的字段A=test_old的字段A时,test_new内的字段1改为test_old的字段1 UPDATE test_new INNER JOIN test_old ON test_new.字段A = test_old.字段A SET test_new.字段1 = test_old.字段1 WHERE test_new.字段A = test_old.字段A;

mysql数据分割导入(将一条数据分成几条插入其他表中)

#前提条件 表A中有字段test,new,old 表B中有字段test,new,old1,old2,old3 如何使用sql语句将,表B数据同步至表A,表B字段test对应表A字段test,new对应new,old1和old2和old3对应表A中的old,相当于,表B中test字段第一行内容为1,new字段第一行为2,old1第一行内容为3,old2第一行内容为4,old3第一行内容为5,传输到表A时,则test=1,new=2,old=3 。test=1,new=2,old=4 。test=1,new=2,old=5,表B中的一行数据在表A中会变成三行,因为表B中old有三个结果 #sql INSERT INTO 表A (test, new, old) #可以不要此行直接查询,加此行插入 SELECT test, new, old1 FROM 表B UNION ALL SELECT test, new, old2 FROM 表B UNION ALL SELECT test, new, old3 FROM 表B; #第一个SELECT语句选择表B中的test字段、new字段和old1字段,并插入到表A中。 #第二个SELECT语句选择表B中的test字段、new字段和old2字段,并插入到表A中。 #第三个SELECT语句选择表B中的test字段、new字段和old3字段,并插入到表A中。 #通过UNION ALL,将三个SELECT结果合并起来并插入到表A,从而实现表B中的一行数据在表A中变成三行数据。 #如果表B中除了old123,还有其余字段例如Aq12,两个字段,则 INSERT INTO 表A (test, new, old,Aq) SELECT test, new, old1,Aq1 FROM 表B UNION ALL SELECT test, new, old2,Aq2 FROM 表B UNION ALL SELECT test, new, old3,null FROM 表B;

mysql一个字段匹配多个值

#一个字段同时匹配多个值 #使用 IN 操作符来实现。例如,如果你有一个表 table_name,并且你想要查询字段 column_name 同时匹配多个值(如 1, 2, 3),可以使用以下语句 SELECT * FROM table_name WHERE column_name IN (1, 2, 3); #一个字段同时不匹配多个值的条件 #使用 NOT IN 操作符来实现。例如,如果你想要查询字段 column_name 不匹配多个值(如 1, 2, 3),可以使用以下语句: SELECT * FROM table_name WHERE column_name NOT IN (1, 2, 3);

mysql合并字段(合并字段成表格)

#条件 mysql编写sql语句,如何将四个字段的四行值合并为一个二维表,导进另一张表的其中一个字段的值内 #示例说明 假设我们有一个表 source_table,其中有5个字段id, field1, field2, field3, field4,每个字段有多行值。我们希望将其中四个字段组合成一个二维表的形式,并插入到目标表 target_table 的一个字段 combined_field 中。 #sql 先查询出来 SELECT CONCAT( GROUP_CONCAT(CONCAT(field1, ',', field2, ',', field3, ',', field4) ORDER BY id SEPARATOR '\n') ) AS combined_field FROM source_table; #CONCAT(field1, ',', field2, ',', field3, ',', field4):这个函数将每一行的四个字段通过,连接起来,形成该行的一种“列式”展示。GROUP_CONCAT(... ORDER BY id SEPARATOR '\n'):GROUP_CONCAT函数将所有行连接起来,使用\n作为行分隔符。这意味着每一行都将在结果字符串中单独显示,通过换行符分隔。

查询字段在哪张表里面

SELECT * FROM information_schema.COLUMNS WHERE table_schema = '库名' AND COLUMN_NAME = '字段名';

mysql查询表在哪个库

SELECT table_schema FROM information_schema.TABLES WHERE table_name = '表名';

修改数据库root默认密码

#查看root默认密码 grep ‘temporary password’ /var/log/mysqld.log #登录数据库修改密码 mysql -uroot -p SET PASSWORD=PASSWORD('新密码'); #5.7以前版本 ALTER USER USER() IDENTIFIED BY '密码'; #5.7以后版本 #如果密码修改失败,修改两个全局参数 set global validate_password_policy=0; set global validate_passowrd_length=1; #再次执行修改密码就可以了

允许root用户远程登录

GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '1qaz@WSX' WITH GRANT OPTION; #mysql8.0以上操作 use mysql; update user set host='%' where user='root'; GRANT ALL ON *.* TO 'root'@'%'; #执行两次 FLUSH PRIVILEGES;

mysql设置忽略大小写

#在MySQL的my.cnf文件里,找到mysqld,mysqld下加入下面这一行 lower_case_table_names=1 #(0:大小写敏感 1:大小写不敏感)

Mysql关闭 only_full_group_by模式

#登录数据库,查看是否有CNLY_FULL_GROUP_BY字样 select @@glohal.sql_mode; #如果有该字段,表示该模式开启,想要关闭该模式则修改my.cnf #在mysqld字样下加一句配置 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

配置默认编码为UTF-8

show variables like “%character%”; #查看默认编码 在【mysqld】节点下,配置服务端编码, character_set_server=utf8 [mysqld]节点的,这个是配置客户端信息的 我们也添加【mysqld】节点,并配置编码UTF-8 default-character-set=utf8

MySQL数据库设置慢查询

在/etc/my.cnf文件下找到[mysqld]字段,在[mysqld]字段下加入如下几句话 long_query_time=2 #定义查过多少秒算是慢查询,这里定义2秒 \#5.0 5.1等版本配置如下选项 log-slow-queries=mysql_slow_query.log \#5.5以及以上版本配置如下选项 slow-query-log=on#开启慢查询 slow_query_log_file="mysql_slow_query.log" #慢查询日志保存路径 log-queries-not-using-indexes=on #记录下没有使用索引的慢查询sql log-bin=D:/soft/xampp/mysql/logs

Mysql备份

#备份符合条件的数据 CREATE TABLE new_table AS SELECT * FROM old_table WHERE test = 1; #备份全部数据库的数据和结构 mysqldump -uroot -p -A > 要备份的路径 #备份全部数据库的结构 mysqldump -uroot -p -A -d > 要备份的路径 #备份全部数据库的数据 mysqldump -uroot -p -A -t > 要备份的路径 #备份单个数据库的数据和结构时把-A改成要备份的数据库名称 #备份mysql单个表 mysqldump -uroot -p 库名 表名 > 要备份的路径 #要备份MySQL数据库中指定库的全部内容,包括函数、触发器、存储过程以及其他信息,可以使用mysqldump命令的一系列参数来实现。以下是一个示例: mysqldump -u 用户名 -p --routines --triggers --events --all-databases > 备份文件名.sql #请将命令中的用户名替换为实际的MySQL用户名,数据库名替换为您要备份的指定数据库名称,备份文件名替换为您想要保存备份内容的文件名。 #上述命令使用--databases参数指定要备份的数据库,包括指定的库和其它可能的库。使用--routines参数备份函数和存储过程,--triggers参数备份触发器,--events参数备份事件。

数据库的还原(表的还原也是如此)

方法一: 在命令行执行 mysql -u root -p < 备份的路径 方法二: 在数据库中执行 source 备份的路径

MySQL表的删除

delete from 表名 #清除表中所有数据 drop table 表名 #删除表

mysql创建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

mysql修改用户权限

grant all privileges on *.* to username@localhost identified by "123456" ; #设置用户可以访问mysql所有库 grant all privileges on *.* to username@localhost identified by "123456" with grant option; #设置用户拥有所有权限

mysql删除用户

drop user 'user'@'host';

mysql修改用户密码

update 库.表 set password=password('新密码') where username='用户名' #如果密码字段是password update user set authentication_string=password('新密码') where user='root' and host='%'; #如果密码字段是authentication_string

mysql查询行数

select COUNT(*) from 表名; select count(*) from table where 字段 = ""; #符合该条件的记录总数

mysql同一个库内表数据传输

INSERT INTO 目标表 SELECT * FROM 来源表; #两张表的字段一致 INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 来源表; #两张表的字段不一致,或指定字段

mysql修改字段类型和表的字符编码

alter table 表名 modify column 字段名 字段类型(字段长度); alter table '表名称' convert to character set utf8mb4; #修改编码为utf8

mysql查看全库数据表创建时间

select * from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = '数据库名' order by create_time desc;

mysql新建表

CREATE TABLE dws_production ( id INT(11) NOT NULL AUTO_INCREMENT COMMENT '注释', name VARCHAR(50) NOT NULL COMMENT '注释', email VARCHAR(100) NOT NULL COMMENT '注释', hire_date DATE NOT NULL COMMENT '注释', salary DECIMAL(10, 2) NOT NULL COMMENT '注释', PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='注释';

mysql匹配一个字段的值修改另一个字段

UPDATE 表名 SET 字段1 = '值1' WHERE 字段A = '值A' #当字段A=值A时,字段1改为值1 UPDATE 表名 SET 字段1 = '值1',字段2 = '值2' WHERE 字段A = '值A' #当字段A=值A时,字段1改为值1,字段2改为值2 UPDATE 表名 SET 字段1 = '值1' WHERE 字段A = '值A' and 字段B = '值B' #当字段A=值A,字段B=值B时,字段1改为值1 #不同表匹配修改 UPDATE new JOIN old ON new.aa = old.11 -- AND new.bb = old.22 -- AND new.cc = old.33 SET new.time = old.time; #当表new的aa字段等于,表old的11字段时,把old表的time字段的值赋予new表的time字段,ON后面可跟多个条件

多表关联查询

1, #说明:拿g_workorder表里的ProductBatchID去匹配g_wip表里的ProductBatchID字段,当两个表的两个字段相同时展示g_workorder表的MaterialID字段和ProductBatchID字段,然后拿g_wip表的id字段去匹配g_taskproduction表的WIPID字段,当两表的两字段相同时,展示g_taskproduction表的StationID字段 SELECT c.StationID, a.MaterialID, a.ProductBatchID FROM g_workorder a INNER JOIN g_wip b ON a.ProductBatchID = b.ProductBatchID INNER JOIN g_taskproduction c ON b.ID = c.WIPID WHERE a.ProductBatchID = '76b22e0a016740b8aacb8faa21440ab6' AND EXISTS ( SELECT 1 FROM g_wip WHERE ProductBatchID = a.ProductBatchID ) AND EXISTS ( SELECT 1 FROM g_taskproduction WHERE WIPID = b.ID ); #传统的关联方式查询时间较长,使用EXISTS和INNER JOIN来优化sql提高查询率,还可以创建索引减少查询时间 #为 g_workorder 表的 ProductBatchID 字段添加索引 CREATE INDEX idx_g_workorder_productbatchid ON g_workorder (ProductBatchID); #为 g_wip 表的 ProductBatchID 字段添加索引 CREATE INDEX idx_g_wip_productbatchid ON g_wip (ProductBatchID); #为 g_taskproduction 表的 WIPID 字段添加索引 CREATE INDEX idx_g_taskproduction_wipid ON g_taskproduction (WIPID); 2, #当AA表的test字段等于BB表的year字段时,把BB表的new1,new2,new3的值赋予AA表的sele,alla,qsqs,字段 #同库内的表 UPDATE AA JOIN BB ON AA.test = BB.year SET AA.sele = BB.new1, AA.alla = BB.new2, AA.qsqs = BB.new3;

mysql查询单表内重复数据

单个字段查重 #test表内app字段有重复数据,依据app字段查找重复的app字段数据 select app,COUNT(app) as count from test GROUP BY app; select app from test group by app having count(app) > 1; #重复数据单独筛选出来 #例如 #字段 重复数量 app count 张三 2 #两条相同 李四 1 王五 3 #三条相同 多个字段查重 #查找t_b_company_info表内DEVCOMPANY字段和qm字段同时相同的数据 select DEVCOMPANY,count(DEVCOMPANY),qm,count(qm) from t_b_company_info group by DEVCOMPANY,qm having (count(DEVCOMPANY) > 1) and (count(qm) > 1); #列出该数据 SELECT t.* FROM t_b_company_info t, ( SELECT DEVCOMPANY, COUNT(DEVCOMPANY), qm, COUNT(qm) FROM t_b_company_info GROUP BY DEVCOMPANY, qm HAVING (COUNT(DEVCOMPANY) > 1) AND (COUNT(qm) > 1) ) a WHERE t.DEVCOMPANY=a.DEVCOMPANY AND t.qm=a.qm

mysql查询表结构

分别使用 DESCRIBE 和 DESC 查看表结构 DESCRIBE 表名称; DESC 表名称; #查询表结构带注释 SELECT table_name 表名, COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA_TYPE 字段类型, CHARACTER_MAXIMUM_LENGTH 长度, IS_NULLABLE 是否为空, COLUMN_DEFAULT 默认值, COLUMN_COMMENT 备注 FROM INFORMATION_SCHEMA.COLUMNS where table_schema ='库名' AND table_name = '表名' #此处不写表名则会查询当前库全库的表结构 #查询库中所有表名和表注释 select table_name 表名,TABLE_COMMENT 表注释 from INFORMATION_SCHEMA.TABLES Where table_schema = '库名' ; #查询sh_credit库下所有表的表结构 SELECT t.table_name AS '表名', t.table_comment AS '表注释', c.column_name AS '列名', c.column_type AS '数据类型', c.column_comment AS '列注释' FROM information_schema.tables t JOIN information_schema.columns c ON t.table_name = c.table_name AND t.table_schema = c.table_schema WHERE t.table_schema = 'sh_credit' ORDER BY t.table_name, c.ordinal_position;

mysql查看表中id最大的数据

select max(id+0) id from test; #注:id字段,test是表名

mysql查询匹配条件的行数

select count(*) from 表名 where 条件;

mysql匹配一个表删除另一个表中相同的数据(多表关联)

#从MySQL数据表t1中把那些id值在数据表t2里有匹配的记录全删除掉 DELETE t1 FROM t1,t2 WHERE t1.id=t2.id DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id #从MySQL数据表blade_user里的数据在sd_blade_user_ids表里没有匹配的记录查找出来并删除掉 select e.id from blade_user e LEFT JOIN sd_blade_user_ids c on e.ID=c.ID where and c.ID is null; #查询 delete e from blade_user e LEFT JOIN sd_blade_user_ids c on e.ID=c.ID where and c.ID is null; #删除 #从两个表中找出相同记录的数据并把两个表中的数据都删除掉 DELETE t1,t2 from t1 LEFT JOIN t2 ONt1.id=t2.id WHERE t1.id=25 #(注意此处的delete t1,t2 from 中的t1,t2不能是别名)

mysql修改密码策略和连接失败连接超时处理策略

#修改mysql配置文件 #加载密码策略插件 plugin-load-add=validate_password.so #加载密码失败策略插件 plugin-load-add=connection_control.so #密码长度的最小值 validate_password_length=8 #指定了密码中大小字母的最小个数 validate_password_mixed_case_count=1 #指定了密码中数字的最小个数 validate_password_number_count=1 #指定了密码策略的强度validate_password_policy的值可以使用数值0、1、2或相应的符号值LOW、MEDIUM、STRONG来指定。0/LOW:只检查长度。对于长度测试,所需的长度是validate_password_length系统变量的值 1/MEDIUM:检查长度、数字、大小写、特殊字符2/STRONG:检查长度、数字、大小写、特殊字符字典文件。 validate_password_policy=MEDIUM #特殊字符的最小个数。 validate_password_special_char_count=1 #密码过期时间(单位天) default_password_lifetime=180 #允许密码错误次数5次 connection_control_failed_connections_threshold=5 #密码错误后最小等待时间1分钟(单位毫秒) connection_control_min_connection_delay=60000 connection_control_failed_connections_threshold=5 #密码错误后最大等待时间(单位毫秒) connection_control_max_connection_delay=2147483000 #允许因为网络异常导致链接失败的最大次数 max_connect_errors =10 #非交互式连接超时时间(单位秒) wait_timeout=1200 #交互式连接超时时间(单位秒) interactive_timeout=1200 SHOW VARIABLES LIKE "%password%"; #查看密码策略 show variables like '%connection_control%'; #查看登录超时处理策略

mysql配置加密ssl

(1) #查看ssl是否开启如果have_ssl为DISABLED,说明未开启 show variables like '%ssl%'; (2)生成证书 ./mysql_ssl_rsa_setup --data-dir=/data/mysql-ssl --uid=mysql #用户mysql,生成路径/data/mysql-ssl,然后将/data/mysql-ssl路径下.pem文件属猪主改成mysql (3)配置ssl 修改my.cnf文件,在client和mysqld模块下添加以下内容 ssl-ca=/data/mysql-ssl/ca.pem ssl-cert=/data/mysql-ssl/client-cert.pem ssl-key=/data/mysql-ssl/client-key.pem ./mysql --ssl-ca=/data/mysql-ssl/ca.pem --ssl-cert=/data/mysql-ssl/client-cert.pem --ssl-key=/data/mysql-ssl/client-key.pem -uroot -p #登录时指定证书 (4)重启服务后连接数据库执行status查看 SSL: Cipher in use is DHE-RSA-AES256-SHA #这里有对应的算法名称,说明该连接启用了ssl #配置用户启用ssl #修改已存在用户使用ssl mysql> ALTER USER 'dba'@'%' REQUIRE SSL; #修改已存在用户关闭ssl mysql> ALTER USER 'dba'@'%' REQUIRE NONE; #新建必须使用SSL用户 mysql> grant select on *.* to 'dba'@'%' identified by 'xxx' REQUIRE SSL; 则远程登录命令如下: mysql -h 10.126.xxx.xxx -u dba -p --ssl #关闭数据库ssl功能 vim /etc/my.cnf [mysqld] skip-ssl #在mysqld下添加此行

mysql开启日志审计功能

show global variables like 'plugin_dir'; #查看插件安装目录 INSTALL PLUGIN server_audit SONAME 'server_audit.so'; #安装日志审计插件,如果没有server_audit.so这个文件的话在网上下一个放到插件安装目录并授予755权限更改属组和属主,再执行安装(F盘有mariadb包,lib目录里有server_audit) show variables like '%audit%'; #查看日志审计初始化功能 set global server_audit_events='CONNECT,QUERY,TABLE,QUERY_DDL' #指定哪些操作被记录到日志文件中 set global server_audit_logging=on #开启审计功能 set global server_audit_file_path =/data/mysql/auditlogs/ #默认存放路径,可以不写,默认到data文件下 set global server_audit_file_rotate_size=200000000 #设置文件大小 set global server_audit_file_rotations=200 #指定日志文件的数量,如果为0日志将从不轮转 set global server_audit_file_rotate_now=ON #指定日志文件的数量,如果为0日志将从不轮转 #写入配置文件(永久开启) [mysqld] plugin_load_add = server_audit.so #开启审计功能 server_audit_logging = ON #防止插件被卸载 server_audit = FORCE_PLUS_PERMANENT #是否强制切割审计日志 server_audit_file_rotate_now = ON #定义切割审计日志的文件大小1073741824=1GB(单位K) server_audit_file_rotate_size = 1073741824 #定义审计日志文件名 server_audit_file_path = server_audit.log #指定那些操作被记录到日志中 server_audit_events = connect,query,table,query_ddl,query_dml,query_dcl #参数配置说明 server_audit_output_type: #指定日志输出类型,可为SYSLOG或FILE server_audit_logging:#启动或关闭审计 server_audit_events:#指定记录事件的类型,可以用逗号分隔的多个值(connect,query,table),如果开启了查询缓存(query cache),查询直接从查询缓存返回数据,将没有table记录 server_audit_file_path:#如server_audit_output_type为FILE,使用该变量设置存储日志的文件,可以指定目录,默认存放在数据目录的server_audit.log文件中 server_audit_file_rotate_size:#限制日志文件的大小 server_audit_file_rotations:#指定日志文件的数量,如果为0日志将从不轮转 server_audit_file_rotate_now:#强制日志文件轮转 server_audit_incl_users:#指定哪些用户的活动将记录,connect将不受此变量影响,该变量比server_audit_excl_users优先级高 server_audit_syslog_facility:#默认为LOG_USER,指定facility server_audit_syslog_ident:#设置ident,作为每个syslog记录的一部分 server_audit_syslog_info:#指定的info字符串将添加到syslog记录 server_audit_syslog_priority:#定义记录日志的syslogd priority server_audit_excl_users:#该列表的用户行为将不记录,connect将不受该设置影响 server_audit_mode:#标识版本,用于开发测试 #设置日志保存180天 如果设置了服务器日志审计(rsyslog)的话可以直接添加 查看/etc/logrotate.d/目录下有没有mysql-server_auditx文件,没有的话创建一个并填入一下内容 /data/mysql/data/server_audit.log { daily missingok rotate 180 compress delaycompress notifempty create 640 mysql mysql sharedscripts postrotate /usr/local/mysql/bin/mysql --defaults-file=/etc/mysql/debian.cnf -e "SELECT @@global.server_audit_logging INTO @old_value; SET GLOBAL server_audit_logging = OFF; SET GLOBAL server_audit_logging = @old_value;" || true endscript } 解释: /var/log/mysql/server_audit.log 指定了需要轮换的日志文件路径。 daily 表明每天对日志进行轮换处理。 rotate 180 设置了日志文件保留180个周期(在这个配置中是180天)。 compress 和 delaycompress 将轮换后的日志文件压缩存储。 notifempty 确保当日志文件为空时不会进行轮换。 create 设置了新日志文件的权限和所有者。 sharedcripts 表明后续的postrotate脚本在所有日志轮换后只运行一次。 postrotate 脚本部分确保了MySQL服务能够在日志文件轮换后正确地继续写入新的日志,通过暂时关闭再开启日志记录来实现。 创建/etc/mysql/debian.cnf,写入 [client] user = your_username password = your_password host = localhost 设置权限 chmod 600 /etc/mysql/debian.cnf chown root:root /etc/mysql/debian.cnf #最后,您可以测试您的logrotate配置是否有效,方法是手动运行logrotate命令: logrotate /etc/logrotate.d/mysql-server_auditx --debug

数据库表加密

1,查询是否有值 select SHA2(concat(ifnull(字段1,''), ifnull(字段1,''), ifnull(字段1,''), ifnull(字段1,''), ifnull(字段1,''), ifnull(字段1,''), ifnull(字段1,''), ifnull(字段1,''), ifnull(字段1,''), ifnull(字段1,''), ifnull(字段1,''), ifnull(字段1,''), ifnull(字段1,''), ifnull(字段1,''), ifnull(字段1,''), ifnull(字段1,'')), 256) from jo_user ; #下列语句字段位置一样 3,添加sha256字段,并执行此语句加密 update jo_user set sha256=SHA2(concat(ifnull(user_id,''), ifnull(username,''), ifnull(email,''), ifnull(password,''), ifnull(register_time,''), ifnull(register_ip,''), ifnull(last_login_time,''), ifnull(last_login_ip,''), ifnull(login_count,''), ifnull(reset_key,''), ifnull(reset_pwd,''), ifnull(error_time,''), ifnull(error_count,''), ifnull(error_ip,''), ifnull(activation,''), ifnull(activation_code,'')), 256) where sha256 is null; 2,查询字段是否有值 select ifnull(user_id,''), ifnull(group_id,''), ifnull(username,''), ifnull(email,''), ifnull(register_time,''), ifnull(register_ip,''), ifnull(last_login_time,''), ifnull(last_login_ip,''), ifnull(login_count,''), ifnull(rank,''), ifnull(upload_total,''), ifnull(upload_size,''), ifnull(upload_date,''), ifnull(is_admin,''), ifnull(is_self_admin,''), ifnull(statu,''), ifnull(session_id,''), ifnull(is_viewonly_admin,''), ifnull(day_count,'') from jo_user; 4,使用MD5方式对表的某一个字段进行加密 UPDATE 表 SET 加密后的字段 = MD5(加密字段);

mysql字段根据当前时间戳更新日期

#设置了CURRENT_TIMESTAMP为默认值,勾选了根据当前时间更新,表示每次更新这条数据的时候,该字段都会更新成当前时间 CREATE TABLE `mytest` ( `text` varchar(255) DEFAULT '' COMMENT '内容', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

生成唯一uuid

update 表名 set 字段名 = UUID();

统计库占用总量

select TABLE_SCHEMA as 'Database', SUM(ROUND((DATA_LENGTH+INDEX_LENGTH)/1024/1024,2)) AS 'Size(MB)' FROM information_schema.TABLES where TABLE_SCHEMA='库名';
http://www.jsqmd.com/news/730697/

相关文章:

  • Equalizer APO终极指南:免费解锁Windows音频调校的完整教程
  • 2026年正规的轮胎制氮机供应商排名 - mypinpai
  • 新手避坑指南:C++ 引用、内联函数与 nullptr 全解析
  • R 4.5模型边缘化落地全链路,从caret/xgboost/lme4到TFLite/Roofline建模→设备端AOT编译
  • 显卡驱动彻底清理终极指南:Display Driver Uninstaller (DDU) 高效解决方案
  • AA制智能记账工具设计:从债务网络到最优结算算法
  • 食品行业净化设备性价比高的品牌 - 工业品牌热点
  • AMD Ryzen处理器底层调试工具SMUDebugTool深度解析与实战指南
  • 深蓝词库转换:20+输入法格式一键互通的终极解决方案
  • 制氧机设备选购指南,金属切割、玻璃制造适用款 - mypinpai
  • 最小差异对比法:高效区分相似概念的教学技术
  • IDEA中使用CodeX
  • 中文作文智能体实战项目:基于大语言模型的Web端写作助手设计与实现
  • 3.2《酒魂》规则设计文档
  • 如何10分钟掌握BepInEx:Unity游戏插件框架终极指南
  • 2026年热门的吨袋品牌排名:优耐集包装怎么样? - 工业品牌热点
  • OneMore:160+功能加持,让OneNote变身专业办公利器
  • DIO2352A/B 技术文档(二)
  • 2026年高纯分子筛靠谱厂家排名,价格费用是多少? - mypinpai
  • 5分钟搞定Unity游戏翻译!XUnity.AutoTranslator新手完全指南 [特殊字符]
  • 学习第一天
  • Cockpit:把 Claude Code 从终端里搬出来,装进浏览器
  • KLayout开源版图设计工具:从新手到专家的终极指南
  • 纬地、鸿业、海地、CASS等横断面数据互转工具V3.2——测绘与道路设计人员的效率神器
  • 搞懂5G QoS配置:QCI/5QI、ARP、GBR/MBR参数到底怎么设?一个实战案例说清楚
  • ViGEmBus:Windows内核级虚拟游戏控制器驱动深度解析
  • 智慧树自动刷课插件:3分钟实现智能学习的终极指南
  • 柏奥气体设备技术实力如何,产品价格怎么样 - mypinpai
  • JetBrains IDE试用期重置终极解决方案:告别30天限制的专业指南
  • Cursor 把自家的 AI Agent 开放了:写几行 TypeScript 就能调 Cursor 干活