Mysql常用命令集合
创建一个数据库:
create database db_Name;
选择数据库:
use db_Name;
设置数据库编码
set names utf8;
允许所有用户远程登录:
grant all on *.* to ‘root‘@‘%‘ identified by ‘123456‘;
grant all privileges on DBName.* to USERname@‘%‘ identified by ‘123456‘;
需要刷新权限表
flush privileges;
显示数据库中所有的表:
show Tables;
显示索引信息:
show index from Table_name;
显示表数据:
select * from Table_name;
显示表中指定行数:
select * from Table_Name limit 10;
修复表:
repair table Table_name
更新表:
update 表名 set name=?,password=?.... where id=?
导出所有数据库
mysqldump -uroot -p密码 --all-databases > all.sql
将表中sex字段下的所有条目改为f:update mytable set sex="f";
建立表:use 库名;create table 表名 (字段设定列表);
清空表:delete from tablename;
清空表:truncate table tablename;
删除一个表:drop table Table_Name;
删除一个表2:DROP TABLE IF EXISTS `account`;
删除一个库:drop database db_Name;
显示表结构:
desc table_name;
show columns from table_name;
describe table_name;
修改root密码
mysqladmin -uroot -p123456 password 654321
安装完毕初次使用数据库修改密码:
mysqladmin -uroot password "kuutown@1601"(单引号双引号皆可 没有减号)
只导出表结构
mysqldump -uroot -p -d abc > abc.sql
查询表行数:
select count(*) from tablename;
查看mysql现在已经提供什么引擎:
show engines;
查看mysql当前默认的存储引擎:
show variables like ‘%storage_engine%‘;
导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.导出一个数据库结构
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
建立一个用户,并赋予远程连接权限:grant all on db.* to Name identified by ‘password‘
导入sql脚本
mysql -u 用户名 -p 数据库名 < 存放位置
mysqljump -u root -p test < c:/a.sql
注意,test数据库必须已经存在
limit:
limit是mysql的语法
select * from table limit m,n
其中m是指记录开始的index,从0开始,表示第一条记录
n是指从第m+1条开始,取n条。
select * from tablename limit 2,4
即取出第3条至第6条,4条记录
===========================================================================================
【Navicat连接技巧】
1、修改远程连接限制:选定数据库>>选择‘用户’(工具栏),主机改为:%
Windows下Mysql数据库服务的关闭和重启:
我们要重启Mysql服务才能使之生效,这里提供几种重启方法:
1、windows下重新启动mysql5的方法:
在安装mysql时系统会添加服务,可以通过管理工具里面的 <服务> 一项来停止和启动mysql。这样修改的my.ini就会生效了。
2、也可以用命令行模式,在运行里输入:
停止:net stop mysql(其中mysql为你安装的mysql服务名称)
启动:net start mysql
===========================================================================================
MysqlWindows下备份路径:
C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data
MySQL新建用户,授权,删除用户,修改密码
新建用户。
//创建用户
mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:phplamp 密码为:1234 的用户。
首先是启动服务。如果是redhat的话,可以使用setup或者ntsysv命令进入服务设置页面后,将mysqld那项选中,然后保存退出。如果不是redhat没有以上工具的话,可以使用chkconfig --level 35 mysqld on命令来开启服务。当然,这只是要求每次系统启动时启动服务,为了不用重启,需要使用/etc/init.d/mysqld start或者service mysqld start命令来使现在的服务启动,如果是重启服务的话,使用service ** restart。
在终端中输入mysql,看是否提示有这条命令,如果提示是command not found的话,应该是PATH变量的问题。解决的方法,可以将你安装mysql的路径也加入到PATH中,也可以将mysql中的需要执行的这些命令拷贝到PATH中。不过我mysql也是个菜鸟,真的不清楚有多少命令,所以建议把安装路径加入到PATH中,可以通过修改/etc/profile或者主目录下.bashrc文件来实现。一个是全局,一个只针对本账号。就是在文件中添加PATH=/usr/mysql:$PATH,位置无所谓,添进去应该就ok了。
然后输入mysql命令看看有反映没,如果没反应,就在查查,我也没这么弄过,但是我估计应该好使。
最后是添加mysql的密码了,默认时直接输入mysql就可以进入了,所以要进行修改。输入mysqladmin -u root password ***,就是给root添加密码了,如果是修改的话,格式为mysqladmin -u root -p 旧密码 password 新密码。还有,我真的是个菜鸟,加密码之前,其他账号也可以使用mysql命令直接进入,加了之后其他帐户可以使用mysql -uroot -p命令,然后输入密码进入(root也是以同样的方法进入),但是我不知道怎么添加别的帐户,比如说其他账户tom使用mysql -utom -p来进入,不好意思了。
对了,设定密码的时候,输入的是明文,而由于bash会保留命令,最好清除一下.bash_history,不然别人用一下history命令就可以知道你的密码是什么了。
2.为用户授权。
如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by ‘1234‘;
//刷新系统权限表。
mysql>flush privileges;
3.删除用户。
>mysql -u root -p
>密码
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;
4.修改指定用户密码。
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password(‘新密码‘) where User="phplamp" and Host="localhost";
mysql>flush privileges;
===========================================================================================
mysql> show variables like ‘%connection%‘;
+--------------------------+-----------------+
| Variable_name | Value |
+--------------------------+-----------------+
| character_set_connection | utf8 |
| collation_connection | utf8_general_ci |
| max_connections | 2000 |
| max_user_connections | 0 |
+--------------------------+-----------------+
4 rows in set (0.00 sec)
mysql> show global status like ‘%Max_used%‘;
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| Max_used_connections | 237 |
+----------------------+-------+
1 row in set (0.00 sec)
mysql> show processlist;
+--------+------+-----------+------------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+--------+------+-----------+------------+---------+------+-------+------------------+
| 300717 | root | localhost | loldbrtmp8 | Query | 0 | NULL | show processlist |
+--------+------+-----------+------------+---------+------+-------+------------------+
1 row in set (0.00 sec)
===========================================================================================
#查看mysql日志设置情况
show variables like ‘log%‘;
- 创建在线峰值表 [acc_db].[acc_maxlinelog]
CREATE TABLE `acc_maxlinelog` (
`logid` int(4) UNSIGNED NOT NULL AUTO_INCREMENT ,
`time` int(4) UNSIGNED NOT NULL ,
`count_online` int(4) UNSIGNED NOT NULL ,
`line` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
PRIMARY KEY (`logid`),
INDEX `servertime` (`time`, `line`) USING BTREE ,
INDEX `time` (`time`) USING BTREE
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
AUTO_INCREMENT=1
ROW_FORMAT=COMPACT
;
===========================================================================================
你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):
mysql> show create table 表名;
update account set platform=‘GZ‘ where platform=‘mlds‘;
新建一个字段id 表示文章号用来唯一标识文章 类型是整形 ,每个字段是一列
id int indentity(1,1) ,
新建一个字段title 表示文章标题 类型是字符型 长度是100
title varchar(100),
新建一个字段 表示文章内容
[content] text
查找article1表
select * from Article1
插入一行
insert into Article1 values(1,‘中国暂停进口美国“吉普牧马人”越野车‘,‘中国国家质检总局8日晚20时发布公告:暂停进口美国三大车企之一克莱斯勒“吉普牧马人”越野车。‘ )
insert into Article1 values(2,‘中国暂停进口美国“吉普牧马人”越野车‘,‘中国国家质检总局8日晚20时发布公告:暂停进口美国三大车企之一克莱斯勒“吉普牧马人”越野车。‘ )
select * from Article1
update Article1 set title=‘abc‘ where id=2
delete from Article1 where id =1
select * from Article1 where title like ’%‘a‘%’
select count (*) from Article1
select * from t2 where title= ‘abc‘
select sum(id) from Article1
select avg(id) as avgvalue from Article1
select max(id) as maxvalue from Article1
select min(id) as minvalue from Article1
select * from Article1 where title<>‘abc‘
mysql查询某表的行数
select count(*) from tablename;
select I.*,U.tablename1 from tablename2 I INNER JOIN users U ON U.id=I.userid;
本文出自 “工作Blog” 博客,请务必保留此出处http://hellowei.blog.51cto.com/4814430/1643807
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。