MySql常用命令总结(郭老师)

  • 格式:doc
  • 大小:45.00 KB
  • 文档页数:6

MySql常用命令总结(郭老师)访问表select top 10 * from 表连接到本机上的MYSQL mysql -h localhost -u root -p随机取记录select * from 表名order by rand() limit 0,5 (0-5)断开服务器quit查看数据库show databases;选择数据库use 数据库名;查看表show tables;查看表结构describe 表名;插入记录//insert into 表名set 字段名='值',字段名='值';select 字段1,字段2`````字段N from 表where 字段1=条件值“查看表中的所有记录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 条件;修改记录//update 表set 字段c='512021'+right(字段c,len(字段c)-len('513921')) where left(字段c,len('513921'))='513921'修改记录update 表set 字段c=repalce(字段c,'513921','512021')删除记录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 * from 表名where 字段名=' 要查找的内容';查找某字段select * from 表order by 字段去除重复后输出记录select DISTINCT 字段名FROM 表名;修改密码//UPDATE user SET Password=PASSWORD('密码') WHERE user='用户名'; 增加新用户//grant select on 数据库.* to 用户名@登录主机identified by "密码"备份数据库mysqldump --opt 原库名>备份库名delete * from 表where 编号not in (select min(编号) from 表group by 电话);删除重复项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 IDmysql常用语句(一)创建,删除和最基本查询:显示数据库mysql->show databases;创建数据库mysql->create database db;删除数据库mysql->drop database db;选择数据库mysql->use db创建表mysql->create table mytable(name varchar(20),sex(char(1),birth date);删除表mysql->drop table mytable;显示表的内容mysql->show tables;显示表的结构mysql->describe mytable;更新:1、对列的操作:在一个表中增加一条字段mysql->alter table yourtable add name varchar(20)not null;删除一个字段mysql->alter table yourtable drop name ;2、对行的操作:插入一条记录mysql->insert into mytable values('summer','m','1983-08-24');删除一条记录mysql->delete from mytable where name='summer';修改一条记录mysql->update mytable set sex='vm' where name='summer';插入多条记录mysql->insert into mytable select *from yourtable;(这种形式的INSERT 语句中,新行的数据值不是在语句正文中明确地指定的.而是语句中指定的一个数据库查询. 该查询的逻辑限制:?查询不能含有ORDER BY子句. ?查询结果应含有与INSERT语句中列数目相同的列,且数据类型必须逐列兼容. )简单查询:1.在查询结果中显示列名a.用as关键字:select name as '姓名' from students order by ageb.直接表示:select name '姓名' from students order by age(二)(1). 查询语句:select username,uid from supesite.supe_userspaces where catid='91';select T1.image from supesite.supe_spaceimages AS T1 INNER JOIN supesite.supe_spaceitems AS T2 ON T1.itemid = T2.itemid where ername = '".$username."' LIMIT 1;(2).插入语句:insert into cdb_members (username,password) values ('$username','$passwd');(3).更新语句:update vpopmail.vpopmail set pw_privilege='1' where pw_name='haha';(4).修改表结构语句:alter table vpopmail add pw_haha int (10) default null;alter table vpopmail drop pw_haha;alter table haha add uid int (10) not null auto_increment, add primary key (uid);(5). 创建表数据库:create table lian (a int,b char(10));create database jie;(6) .删除数据库表记录:drop database jie;drop table lian;delete from lian where username='dd';(7) mysql 备份mysqldump --all-databases > all_databases.sql(8) mysql 恢复mysql < all_databases.sql(9) 创建mysql帐户mysql> grant all privileges on *.* to 'lianbinjie'@'localhost'-> identified by '840611';mysql> GRANT SELECT,UPDATE ON *.* TO 'monty'@'%' (可以网络访问的账户)-> IDENTIFIED BY '840611';(10) 更改已有帐户的密码mysql> grant all privileges on *.* to 'lianbinjie'@'localhost' -> identified by '840611';mysql> flush privileges;1:使用SHOW语句找出在服务器上当前存在什么数据库:mysql> SHOW DATABASES;2:2、创建一个数据库MYSQLDATAmysql> CREATE DATABASE MYSQLDATA;3:选择你所创建的数据库mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)4:查看现在的数据库中存在什么表mysql> SHOW TABLES;5:创建一个数据库表mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 6:显示表的结构:mysql> DESCRIBE MYTABLE;7:往表中加入记录mysql> insert into MYTABLE values ("hyq","M");8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;9:导入.sql文件命令(例如D:/mysql.sql)mysql>use database;mysql>source d:/mysql.sql;10:删除表mysql>drop TABLE MYTABLE;11:清空表mysql>delete from MYTABLE;12:更新表中数据mysql>update MYTABLE set sex="f" where name='hyq';以下是无意中在网络看到的使用MySql的管理心得,摘自:/article/htmldata/2004_12/3/57/article_1 060_1.html在windows中MySql以服务形式存在,在使用前应确保此服务已经启动,未启动可用net start mysql命令启动。