首页 > 代码库 > mysql基本命令使用

mysql基本命令使用

一、基本查询,忘记密码

查询

>show databases like ‘mysql‘;

>show databases like ‘%my%‘; //查询包含my的databases


设置密码

#mysqladmin -u root password ‘passwd‘;


修改密码

#mysqladmin -u root -p‘passwd‘ password ‘newpasswd‘;

>set password=password(‘passwd‘);



忘记root密码

#mysqld_safe --skip-grant-tables&//跳过认证表

>update mysql.user set password=password("passwd") where user=‘root‘;//修改密码

>flush privileges//刷新用户

重启



二、数据库操作

>create database default_db;//创建数据库


>show create database default_db;//查看创建数据库默认字符集

>create database default_db default character set utf8;//创建utf8字符集数据库

> alter database default_db character set utf8;//修改已存在数据库字符集



>show databases;//查看数据库

>drop database default_db;//删除数据库

>use default_db;使用数据库


查看数据库用户

>select user,host from mysql.user;

>select databbase();查看当前所属数据库


>show tables;查看表

>system whoami   查看当前用户,system跳出mysql查看返回  //Oracl 用 host 代替system



>show tables from default_db;查看指定库中的表


删除用户

>drop user ‘root‘@‘localhost‘;

>delete from mysql.user where user=‘root‘ and host=‘passwd‘; 

>flush privileges; //刷新



授权

>create user ‘root‘@‘localhost‘ identified by ‘mypass‘;

>grant all on db1.* to ‘root‘@‘localhost‘;

也可写成如下一条语句

>grant all on db1.* to ‘root‘@‘localhost‘identified by ‘mypass‘;



回收权限

>revoke insert on *.* from root@localhost;//回收insert权限


读写分用户授权

主库授权

>grant select,insert,update,delete on ‘blog‘.* to ‘blog‘@‘10.0.0.%‘ identifed by ‘passwd‘;

从库授权

>grant select on ‘blog‘.* to ‘blog‘@‘10.0.0.%‘ identifed by ‘passwd‘;




三、表操作

字段类型

int

double

date

char

varchar



>desc default_db; //查看表结构


> create table stu(name char(3),age int);//创建表


> insert into stu(name,age) values ("pater",23);//插入表


> insert into stu(name,age) values("jem",13) ,("tom",31);//插入多个


备份

# mysqldump -uroot -p‘passwd‘ -B default_db > /tmp/default_db_bak.sql

-A 备份所有表



查看

select * from test limit 0,2; limit指定查看起止


排序

> select * from stu order by age desc; //查询stu表以age段降序排列

> select * from stu order by age asc limit 2 ; //查询stu表以age升序排列显示前行


条件查询

> select * from stu where age > 30 and name=‘tom‘ ;查找stu表age大于30并且name是tom的字段,也可以用or


注意:字符型要单引号



跨表查询

> select stu1.id,stu.name from stu1,stu where stu1.name=stu.name; //查询stu1的name等于stu的name,显示stu1的id和stu的name


>update test set name=‘aaa‘ where name=‘xiaohong‘;//把小红改成aaa



删除

>delete from test where id >3;删除test表中id>3的


清空表

> truncate table newstu;


添加字段

> alter table stu add sex char(4);//增加sex列


> alter table stu add sex char(4) after name;//增加sex列在name列后


> alter table stu1 drop id;//删除sut1的id字段



更改表名

> rename table stu1 to newstu;


删除表

>drop table name;



本文出自 “毛竹之势” 博客,请务必保留此出处http://peaceweb.blog.51cto.com/3226037/1610623

mysql基本命令使用