mysql一些常用命令总结

本文汇总了MySQL数据库的各种实用技巧,包括时间戳转换、特定顺序排序、进程显示、表结构及数据的导出导入、字段修改等操作。还介绍了如何设置字符集、复制表结构和数据等高级操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql时间戳转日期格式
SELECT FROM_UNIXTIME(add_time,'%Y-%m-%d %H:%i:%s') FROM `wh5_username` where id=23;

按in里面的顺序来排序
select * from table where id IN (3,6,9,1,2,5,8,7) order by field(id,3,6,9,1,2,5,8,7);

显示进程
show processlist

连接数据库
mysql -uroot -pPwd.Secret -S /data/mysql/mysql_3306.sock

删除数据表
truncate table 表名

创建数据库带默认字符集
CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

给某个数据库新增数据库用户名密码
grant all on `数据库名`.* to '用户名'@localhost identified by '密码';

远程授权例子:
grant all privileges on test.* to test@'127.41.93.243' identified by '1234567';

删除用户
use mysql
Delete FROM user Where User='test' and Host='localhost';

sql导入
source test.sql

修改递增的值
alter table users AUTO_INCREMENT=0;

修改字段
ALTER TABLE chatter_users MODIFY COLUMN ip VARCHAR(50);

修改字段名
ALTER TABLE `test_user` CHANGE `uc_uid` `type` tinyint(1) unsigned NOT NULL DEFAULT '0';

sql导出
只导出表结构
mysqldump -uroot -pdbpasswd -d dbname test>db.sql;
导出表结构和数据
mysqldump -uroot -pdbpasswd dbname test>db.sql;
eg:漫画导出语句
mysqldump -uroot -pPwd.Secret -h127.0.0.1 yaoyao_test>yaoyao_test20140415.sql;

允许客户端连接mysql操作
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON `Test_App`.* TO 'MANHUA_APP'@'214.247.214.90' identified by "jIhQle/Mu2O";
重新授权了一下,改了一下iptables


复制表数据和表结构
第一中方法:
复制整个表
CREATE TABLE new_table SELECT * FROM old_table;

复制但不复制数据
CREATE TABLE new_table SELECT * FROM old_table where 0;
以上方法存在问题: 其实只是把select语句的结果建一个表。所以new_table这个表不会有主键、索引。
可以用一下方法改进:
create table new_table(id int(20) not null auto_increment primary key) select * from old_table
这个SQL语句可以实现复制基本结构、表的主键和自动增长,这里new_table的id会自动覆盖old_table的id定义格式

第二种方法:
将 production 数据库中的 mytbl 表快速复制为 mytbl_new,2个命令如下:
CREATE TABLE mytbl_new LIKE production.mytbl;
INSERT mytbl_new SELECT * FROM production.mytbl;
第一个命令是创建新的数据表 mytbl_new ,并复制 mytbl 的数据表结构。
第二个命令是讲数据表 mytbl 中的数据复制到新表 mytbl_new 。
注:production.mytbl是指定要复制表的数据库名称为 production 。它是可选的。
假如没有production. ,MySQL数据库将会假设mytbl在当前操作的数据库。

 

我用的SecureCRT用的utf-8编码,终端时LANG=en_US.UTF-8, 而经过苏普同学提醒,这条记录的字条应该是utf-8!
那么强制在mysql命令行里设置utf-8而不用默认的gbk。
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=28
msyql编码问题参考网址http://blog.chinaunix.net/uid-20677742-id-3133356.html


mysql导出部分指定列数据
SELECT field1,field2 FROM mytable INTO OUTFILE '/backup/outfile.txt';

mysql查找替换sql写法
UPDATE `m_chapter_0` SET `pics` = replace (`pics`,'test.jide123.cc:8080','test.jide123.cc')
UPDATE `test_ecms_news_data_1` SET `surl` = replace (`surl`,'vdata.test.org','test.yaoyao.org');

用b表的字段值更新a表的字段
update market_prize a inner join market_project_channel b on a.id=b.pid set a.interact_id = b.interact_id;

转载于:https://www.cnblogs.com/hiwen/p/4912424.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值