MYSQL常用命令
1.导出整个数据库
mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.导出一个表
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
4.导入数据库
A:常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source wcnc_db.sql
B:使用mysqldump命令
mysqldump -u username -p dbname < filename.sql
C:使用mysql命令
mysql -u username -p -D dbname < filename.sql
一、启动与退出
1、进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可。此时的提示符是:mysql>
2、退出MySQL:quit或exit
二、库操作
1、、创建数据库
命令:create database <数据库名>
例如:建立一个名为xhkdb的数据库
mysql> create database xhkdb;
2、显示所有的数据库
命令:show databases (注意:最后有个s)
mysql> show databases;
3、删除数据库
命令:drop database <数据库名>
例如:删除名为 xhkdb的数据库
mysql> drop database xhkdb;
4、连接数据库
命令: use <数据库名>
例如:如果xhkdb数据库存在,尝试存取它:
mysql> use xhkdb;
屏幕提示:Database changed
5、查看当前使用的数据库
mysql> select database();
6、当前数据库包含的表信息:
mysql> show tables; (注意:最后有个s)
三、表操作,操作之前应连接某个数据库
1、建表
命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);
mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default '0',
> degree double(16,2));
2、获取表结构
命令: desc 表名,或者show columns from 表名
mysql>DESCRIBE MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;
3、删除表
命令:drop table <表名>
例如:删除表名为 MyClass 的表
mysql> drop table MyClass;
4、插入数据
命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
例如,往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩为96.45, 编号为2 的名为Joan 的成绩为82.99,编号为3 的名为Wang 的成绩为96.5.
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
5、查询表中的数据
1)、查询所有行
命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
例如:查看表 MyClass 中所有数据
mysql> select * from MyClass;
2)、查询前几行数据
例如:查看表 MyClass 中前2行数据
mysql> select * from MyClass order by id limit 0,2;
或者:
mysql> select * from MyClass limit 0,2;
6、删除表中数据
命令:delete from 表名 where 表达式
例如:删除表 MyClass中编号为1 的记录
mysql> delete from MyClass where id=1;
7、修改表中数据:update 表名 set 字段=新值,… where 条件
mysql> update MyClass set name='Mary' where id=1;
7、在表中增加字段:
命令:alter table 表名 add字段 类型 其他;
例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0
mysql> alter table MyClass add passtest int(4) default '0'
8、更改表名:
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改为YouClass
mysql> rename table MyClass to YouClass;
更新字段内容
update 表名 set 字段名 = 新内容
update 表名 set 字段名 = replace(字段名,'旧内容','新内容');
文章前面加入4个空格
update article set content=concat(' ',content);
字段类型
1.INT[(M)] 型: 正常大小整数类型
2.DOUBLE[(M,D)] [ZEROFILL] 型: 正常大小(双精密)浮点数字类型
3.DATE 日期类型:支持的范围是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列
4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度
5.BLOB TEXT类型,最大长度为6553
2.1登入到mysql控制台[用户名为root,密码缺省为空]
切换到mysql的bin目录cd d:wampmysqlin
登入到mysql控制台
语法:mysql -h hostname -u username -p
连接到另一台主机
代码:mysql -h 192.168.1.1 -u root -p
password:直接按回车
连接到本机
代码:mysql -h 127.0.0.1 -u root -p
password:直接按回车
呈现mysql>暗示登陆到mysql控制台乐成
2.2退出mysql控制台
mysql>exit;
/************************************************* **********/
3.1检查所有mysql数值库清单;
语法:mysql> show databases;
代码:mysql> show databases;
3.2预示数值库中所有表的清单
查看时下数值库中的表
语法1:mysql> show tables;
代码1:mysql> show tables;
3.3查看其他数值库jxc中的表
语法1:mysql> show tables from databasename;
代码1:mysql> show tables from jxc;
/************************************************* **********/
4.创建/删除/选择数值库
创建jxc数值库:
语法:mysql> create database databasename;
代码:mysql> create database jxc;
删除jxc数值库:
语法:mysql> drop database databasename;
代码:mysql> create database abc;
代码:mysql> drop database abc;
选择jxc数值库:
语法:mysql> use database;
代码:mysql> use jxc;
/************************************************* **********/
5查看一个表的数值结构
5.1 describte查看表customers结构
语法1:mysql> describe tablename;
代码1:mysql> describe customers;
5.2.show columns查看表customers;结构
语法1:mysql> show columns from tablename;
代码1:mysql> show columns from customers;
5.3.查看一个表的指定列名的数值结构
语法1:mysql> show index from tablename column;
代码1:mysql> show index from customers name;
5.4.查看一个表customers的索引
语法1:mysql> show index from tablename;
代码1:mysql> show index from customers;
6.数值常用操作(select,insert,update,delete)
6.1 select选择:
语法:select * from [表名1,表名1,,,] where [前提规模]
代码:select * from orders where orderid>100;
6.2 insert插进去
语法:insert into table1(column1,column,,,) values(value1,value2,,,);
代码:insert into books(isbn,author,title,price) values('iso-902126','jahn.D','mysql6.0',99.0);
6.3 update 更新:
语法:update table1 set [列名]=[新数值] where [前提规模]
代码:update books set title="Thellonking in Java" where isbn='iso-902126';
6.4删除: 语法:delete from [表名] where [前提规模]
代码:delete from books where isbn='iso-902126';
6.5其他方法
查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙
排序:select * from table1 order by field1,field2 [desc]
总额:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
/************************************************* **********/
7.用grant创建数值库的用户和权限
GRANT命令语法:
GRANT [许可权列表1],[许可权列表2]
ON [数值库.表名]
TO [用户名@主机名]
IDENTIFIED BY '密码';
代码使成为事实1:
grant select,insert,delete,update
on discuz.* to
identified by '201314';
功效说明
把在数值库discuz所有表的select,insert,delete,update这四个权限
添加到新用户jake,密码为'201314';
代码使成为事实2:
grant all
on discuz.* to
identified by '123456';
把在数值库discuz全部权限所有表添加到新用户tom,密码为'123456';
[许可权列表1]选项如次
select 表,列
insert 表,列
udpate 表,列
delete 表
index 表
alter 表
create 数值库,表
drop 数值库,表
[许可权列表2]选项如次
create temporary tables 允许使用temporary关键字
file 允许数值库导入和导出到文件
lock tables 允许使用lock talbes命令
reload 允许重新载入授权表
show databases 允许查看所有的数值库清单
shutdown 允许使用关闭MYSQL
all 上面所以权限
美国ge 允许只登录,但不允许不论什么操作
[数值库.表名]选项如次
数值库.表名 选择数值库中一个表给XX用户
数值库.* 选择数值库中所有表给XX用户
/************************************************* **********/
8.revoke勾销用户和用户权限
revoke格式:
revoke [许可权列表1],[许可权列表2] privileges,[columns]
ON [数值库.表名]
FROM [用户名@主机名]
代码:
先授权给laoliu(老刘)
grant all
on books.*
to laoliu identified by 'laoliu11'; 撒去一部分权限
revoke alter,create,drop
on books.*
from laoliu;
撒去laoliu的所有权限
revoke all
on books.*
from laoliu;
/************************************************* **********/
9.添加MYSQL用户其他方法
shell> mysql -u root -p1234 mysql
mysql> insert into user(Host,User,Password) values ('localhost','backup','databse');
添加一个来自本机的mysql 用户backup,口令为:1234
shell>mysql –u root –p
mysql>GRANT FILE ON *.* TO IDENTIFIED BY '1234';
mysql>exit
开放一个账号backup密码1234给来自IP:192.168.1.200有档案处置惩罚的权限
/************************************************* **********/
1.导出整个数据库
mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.导出一个表
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
4.导入数据库
A:常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source wcnc_db.sql
B:使用mysqldump命令
mysqldump -u username -p dbname < filename.sql
C:使用mysql命令
mysql -u username -p -D dbname < filename.sql
一、启动与退出
1、进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可。此时的提示符是:mysql>
2、退出MySQL:quit或exit
二、库操作
1、、创建数据库
命令:create database <数据库名>
例如:建立一个名为xhkdb的数据库
mysql> create database xhkdb;
2、显示所有的数据库
命令:show databases (注意:最后有个s)
mysql> show databases;
3、删除数据库
命令:drop database <数据库名>
例如:删除名为 xhkdb的数据库
mysql> drop database xhkdb;
4、连接数据库
命令: use <数据库名>
例如:如果xhkdb数据库存在,尝试存取它:
mysql> use xhkdb;
屏幕提示:Database changed
5、查看当前使用的数据库
mysql> select database();
6、当前数据库包含的表信息:
mysql> show tables; (注意:最后有个s)
三、表操作,操作之前应连接某个数据库
1、建表
命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);
mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default '0',
> degree double(16,2));
2、获取表结构
命令: desc 表名,或者show columns from 表名
mysql>DESCRIBE MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;
3、删除表
命令:drop table <表名>
例如:删除表名为 MyClass 的表
mysql> drop table MyClass;
4、插入数据
命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
例如,往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩为96.45, 编号为2 的名为Joan 的成绩为82.99,编号为3 的名为Wang 的成绩为96.5.
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
5、查询表中的数据
1)、查询所有行
命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
例如:查看表 MyClass 中所有数据
mysql> select * from MyClass;
2)、查询前几行数据
例如:查看表 MyClass 中前2行数据
mysql> select * from MyClass order by id limit 0,2;
或者:
mysql> select * from MyClass limit 0,2;
6、删除表中数据
命令:delete from 表名 where 表达式
例如:删除表 MyClass中编号为1 的记录
mysql> delete from MyClass where id=1;
7、修改表中数据:update 表名 set 字段=新值,… where 条件
mysql> update MyClass set name='Mary' where id=1;
7、在表中增加字段:
命令:alter table 表名 add字段 类型 其他;
例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0
mysql> alter table MyClass add passtest int(4) default '0'
8、更改表名:
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改为YouClass
mysql> rename table MyClass to YouClass;
更新字段内容
update 表名 set 字段名 = 新内容
update 表名 set 字段名 = replace(字段名,'旧内容','新内容');
文章前面加入4个空格
update article set content=concat(' ',content);
字段类型
1.INT[(M)] 型: 正常大小整数类型
2.DOUBLE[(M,D)] [ZEROFILL] 型: 正常大小(双精密)浮点数字类型
3.DATE 日期类型:支持的范围是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列
4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度
5.BLOB TEXT类型,最大长度为6553
2.1登入到mysql控制台[用户名为root,密码缺省为空]
切换到mysql的bin目录cd d:wampmysqlin
登入到mysql控制台
语法:mysql -h hostname -u username -p
连接到另一台主机
代码:mysql -h 192.168.1.1 -u root -p
password:直接按回车
连接到本机
代码:mysql -h 127.0.0.1 -u root -p
password:直接按回车
呈现mysql>暗示登陆到mysql控制台乐成
2.2退出mysql控制台
mysql>exit;
/************************************************* **********/
3.1检查所有mysql数值库清单;
语法:mysql> show databases;
代码:mysql> show databases;
3.2预示数值库中所有表的清单
查看时下数值库中的表
语法1:mysql> show tables;
代码1:mysql> show tables;
3.3查看其他数值库jxc中的表
语法1:mysql> show tables from databasename;
代码1:mysql> show tables from jxc;
/************************************************* **********/
4.创建/删除/选择数值库
创建jxc数值库:
语法:mysql> create database databasename;
代码:mysql> create database jxc;
删除jxc数值库:
语法:mysql> drop database databasename;
代码:mysql> create database abc;
代码:mysql> drop database abc;
选择jxc数值库:
语法:mysql> use database;
代码:mysql> use jxc;
/************************************************* **********/
5查看一个表的数值结构
5.1 describte查看表customers结构
语法1:mysql> describe tablename;
代码1:mysql> describe customers;
5.2.show columns查看表customers;结构
语法1:mysql> show columns from tablename;
代码1:mysql> show columns from customers;
5.3.查看一个表的指定列名的数值结构
语法1:mysql> show index from tablename column;
代码1:mysql> show index from customers name;
5.4.查看一个表customers的索引
语法1:mysql> show index from tablename;
代码1:mysql> show index from customers;
6.数值常用操作(select,insert,update,delete)
6.1 select选择:
语法:select * from [表名1,表名1,,,] where [前提规模]
代码:select * from orders where orderid>100;
6.2 insert插进去
语法:insert into table1(column1,column,,,) values(value1,value2,,,);
代码:insert into books(isbn,author,title,price) values('iso-902126','jahn.D','mysql6.0',99.0);
6.3 update 更新:
语法:update table1 set [列名]=[新数值] where [前提规模]
代码:update books set title="Thellonking in Java" where isbn='iso-902126';
6.4删除: 语法:delete from [表名] where [前提规模]
代码:delete from books where isbn='iso-902126';
6.5其他方法
查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙
排序:select * from table1 order by field1,field2 [desc]
总额:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
/************************************************* **********/
7.用grant创建数值库的用户和权限
GRANT命令语法:
GRANT [许可权列表1],[许可权列表2]
ON [数值库.表名]
TO [用户名@主机名]
IDENTIFIED BY '密码';
代码使成为事实1:
grant select,insert,delete,update
on discuz.* to
identified by '201314';
功效说明
把在数值库discuz所有表的select,insert,delete,update这四个权限
添加到新用户jake,密码为'201314';
代码使成为事实2:
grant all
on discuz.* to
identified by '123456';
把在数值库discuz全部权限所有表添加到新用户tom,密码为'123456';
[许可权列表1]选项如次
select 表,列
insert 表,列
udpate 表,列
delete 表
index 表
alter 表
create 数值库,表
drop 数值库,表
[许可权列表2]选项如次
create temporary tables 允许使用temporary关键字
file 允许数值库导入和导出到文件
lock tables 允许使用lock talbes命令
reload 允许重新载入授权表
show databases 允许查看所有的数值库清单
shutdown 允许使用关闭MYSQL
all 上面所以权限
美国ge 允许只登录,但不允许不论什么操作
[数值库.表名]选项如次
数值库.表名 选择数值库中一个表给XX用户
数值库.* 选择数值库中所有表给XX用户
/************************************************* **********/
8.revoke勾销用户和用户权限
revoke格式:
revoke [许可权列表1],[许可权列表2] privileges,[columns]
ON [数值库.表名]
FROM [用户名@主机名]
代码:
先授权给laoliu(老刘)
grant all
on books.*
to laoliu identified by 'laoliu11'; 撒去一部分权限
revoke alter,create,drop
on books.*
from laoliu;
撒去laoliu的所有权限
revoke all
on books.*
from laoliu;
/************************************************* **********/
9.添加MYSQL用户其他方法
shell> mysql -u root -p1234 mysql
mysql> insert into user(Host,User,Password) values ('localhost','backup','databse');
添加一个来自本机的mysql 用户backup,口令为:1234
shell>mysql –u root –p
mysql>GRANT FILE ON *.* TO IDENTIFIED BY '1234';
mysql>exit
开放一个账号backup密码1234给来自IP:192.168.1.200有档案处置惩罚的权限
/************************************************* **********/