Mysql :
不进数据库直接执行:mysql -h192.168.32.12 -uroot -pxxx table1 -e"use dbname;delete from table1 where id in (selectconf_id from t_record where status=6 or status=8);"
数据库表连接: select t1.conf_id, t2.name from t_record as t1 join record as t2 on t1.id=t2.id and t1.status=4;
对已存在的进行更新,不存在的插入:duplicate key update:insert t_record (id, time, server_id) values ("1143155680", "20220228133924", "192.168.32.99") on duplicate key update time= if (time>"20220310000001", "20220310000003", "0"),server_id="32.99";
模糊匹配:select * from media_record where customer_code="023478" and (storage_file_name like "%test.mp4%" or local_file_name like "%test.mp4%");
添加列: alter table t_record add (`code` nvarchar(50) NOT NULL DEFAULT "0");
删除列: ALTER TABLE table_name DROP COLUMN field_name;
中文乱码问题:
mysql> show variables like '%character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
创建表格的时候在最后加上DEFAULT CHARSET=utf8设置表格为utf8码,这样的方法有可能失效。
最根本的解决方法是打开mysql配置文件修改。linux下mysql配置文件名为my.cnf,目录为/etc/my.cnf,或者执行
set character_set_client = utf8;
set character_set_server = utf8;
set character_set_connection = utf8;
set character_set_database = utf8;
set character_set_results = utf8;
set collation_connection = utf8_general_ci;
set collation_database = utf8_general_ci;
set collation_server = utf8_general_ci;
设置完成后需要重新启动mysql: /etc/init.d/mysqld restart