当前位置:首页 » 数据库存储

mysql 常用操作

2009-10-09 19:44 本站整理 浏览(2)
连接到本机上的MYSQL mysql -h localhost -u root -p
断开服务器 quit
查看数据库 show databases;
选择数据库 use 数据库名;
查看表 show tables;
查看表结构 describe 表名;
插入记录 insert into 表名 set 字段名='值',字段名='值';
查看表中的所有记录 select * from
条件查询 select * from 表名 where 条件;
模糊查询 select * from 表名 where 字段名 like '%关键字%';
模糊查询(返回0-1000条记录) select * from 表名 where 字段名 like '%关键字%' LIMIT 0,1000;
排序行 select * from 表名 ORDER BY 字段名;
排序行(降序) select * from 表名 ORDER BY 字段名 DESC;
返回空表 SELECT * FROM 表名 LIMIT 0
修改记录 update 表名 set 更改值 where 条件;
删除记录 delete from 表名 where 条件;
创建数据库 create database 库名
创建表 create table 表名 ( 字段名 字段类型(字段长度) PRIMARY KEY AUTO_INCREMENT,,,,);
内存中创建表 CREATE TEMPORARY TABLE 表名 SELECT * FROM 源表 WHERE 条件;
复制表 CREATE TABLE 表名 SELECT * from 源表;
复制表结构 create table 表名2 like 表名1;
删除表 drop TABLE IF EXISTS table 表名;
清空表 delete from 表名
清空表 TRUNCATE TABLE 表名
创建索引 CREATE INDEX 索引名 ON 表名 (列名(10));
删除索引 DROP INDEX 索引名 ON 表名
看清一张表有什么索引 SHOW INDEX FROM ptmp2
列的最大值 select MAX(字段名) AS 字段名的最大值 FROM 表名
列的最小值 select MIN(字段名) AS 字段名的最小值 FROM 表名
列的总和 select SUM(字段名) AS 字段名的总和 FROM 表名
列的平均 select AVG(字段名) AS 字段名的平均 FROM 表名
返回表的总行数 SELECT COUNT(*) FROM 表名;
去除重复后输出记录 select DISTINCT 字段名 FROM 表名;
修改密码 UPDATE user SET Password=PASSWORD('密码') WHERE user='用户名';
增加新用户 grant select on 数据库.* to 用户名@登录主机 identified by "密码"
备份数据库 mysqldump --opt 原库名>备份库名
SELECT * INTO OUTFILE 'file_name' FROM 表名 做有选择的备份并且用LOAD DATA INFILE 'file_name' REPLACE ...恢复。为了避免重复记录,在表中你需要一个PRIMARY KEY或UNIQUE键。当在唯一键值上一个新记录与一个老记录重复时,REPLACE关键词使得老记录用一个新记录替代。
LOAD DATA INFILE "C://tmp//skr.txt" INTO TABLE skr;
SELECT * FROM skr INTO OUTFILE 'C:/tmp/skr.txt';
回收表闲置的空间 OPTIMIZE TABLE 表名
返回当前的数据库名字 select DATABASE();
返回当前MySQL用户名 select USER();
返回当前MySQL用户名 select substring_index(USER(),"@",1);
MySQL服务器版本 select VERSION();
清空主机缓存表 FLUSH HOSTS
整理查询缓存,以更好的利用它的内存。这个命令不会从缓存中移除任何查询 FLUSH QUERY CACHE
转储清除查询缓存 FLUSH TABLES
从查询缓存中移除所有的查询结果 RESET QUERY CACHE
监视查询缓存的性能 SHOW STATUS
关闭并且再打开标准和更新记录文件 FLUSH LOGS
从mysql数据库授权表中重新装载权限 FLUSH PRIVILEGES
关闭所有打开的表 FLUSH TABLES
重置大多数状态变量到0 FLUSH STATUS
察看线程(查看连接数) SHOW PROCESSLIST
杀死线程 KILL ID
整型列可以有附加的属性AUTO_INCREMENT。当你插入NULL值(推荐)或0到一个AUTO_INCREMENT列中时,列被设置为value+1,在此value是当前表中的列的最大值。AUTO_INCREMENT顺序从1开始。见20.4.29 mysql_insert_id()。如果你删除了包含一个AUTO_INCREMENT列的最大值的行,值将被重新使用。如果你删除表中所有的行,顺序重新开始。注意:每个表只能有一个AUTO_INCREMENT列,并且它必须被索引。为了使做MySQL兼容一些 ODBC 应用程序,用下列查询你可以找出最后插入的行:
SELECT * FROM tbl_name WHERE auto_col IS NULL
-------------------------------------------------------------
在 SHOW STATUS 中,你可以监视查询缓存的性能:
变量 含义
Qcache_queries_in_cache 在缓存中已注册的查询数目
Qcache_inserts 被加入到缓存中的查询数目
Qcache_hits 缓存采样数数目
Qcache_lowmem_prunes 因为缺少内存而被从缓存中删除的查询数目
Qcache_not_cached 没有被缓存的查询数目 (不能被缓存的,或由于 QUERY_CACHE_TYPE)
Qcache_free_memory 查询缓存的空闲内存总数
Qcache_free_blocks 查询缓存中的空闲内存块的数目
Qcache_total_blocks 查询缓存中的块的总数目
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wp500/archive/2008/10/10/3042332.aspx