访问表 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 ID
ysql常用语句
(一)
创建,删除和最基本查询:
显示数据库 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 age
b.直接表示: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 T2.username = '".$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;