MYSQL 经常使用命令html
1.导出整个数据库mysql
mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的sql
文件名(数据库默认编码是latin1)数据库
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sqlwindows
2.导出一个表安全
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名服务器
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql网络
3.导出一个数据库结构app
mysqldump -u wcnc -p -d -add-drop-table smgp_apps_wcnc >d:wcnc_db.sqlide
-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>
二、退出MySQL:quit或exit
2、库操做
一、、建立数据库
命令:create database <数据库名>
例如:创建一个名为xhkdb的数据库
mysql> create database xhkdb;
二、显示全部的数据库
命令:show databases (注意:最后有个s)
mysql> show databases;
三、删除数据库
命令:drop database <数据库名>
例如:删除名为 xhkdb的数据库
mysql> drop database xhkdb;
四、链接数据库
命令: use <数据库名>
例如:若是xhkdb数据库存在,尝试存取它:
mysql> use xhkdb;
屏幕提示:Database changed
五、查看当前使用的数据库
mysql> select database();
六、当前数据库包含的表信息:
mysql> show tables; (注意:最后有个s)
3、表操做,操做以前应链接某个数据库
一、建表
命令: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));
二、获取表结构
命令: desc 表名,或者show columns from 表名
mysql>DESCRIBE MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;
三、删除表
命令:drop table <表名>
例如:删除表名为 MyClass 的表
mysql> drop table MyClass;
四、插入数据
命令: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);
五、查询表中的数据
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;
六、删除表中数据
命令:delete from 表名 where 表达式
例如:删除表 MyClass中编号为1 的记录
mysql> delete from MyClass where id=1;
七、修改表中数据:update 表名 set 字段=新值,… where 条件
mysql> update MyClass set name='Mary' where id=1;
七、在表中增长字段:
命令:alter table 表名 add字段 类型 其余;
例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0
mysql> alter table MyClass add passtest int(4) default '0'
八、更改表名:
命令: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类型,最大长度为65535(2^16-1)个字符。
6.VARCHAR型:变长字符串类型
5.导入数据库表
(1)建立.sql文件
(2)先产生一个库如auction.c:mysqlbin>mysqladmin -u root -p creat
auction,会提示输入密码,而后成功建立。
(2)导入auction.sql文件
c:mysqlbin>mysql -u root -p auction < auction.sql。
经过以上操做,就能够建立了一个数据库auction以及其中的一个表auction
。
6.修改数据库
(1)在mysql的表中增长字段:
alter table dbname add column userid int(11) not null primary key
auto_increment;
这样,就在表dbname中添加了一个字段userid,类型为int(11)。
7.mysql数据库的受权
mysql>grant select,insert,delete,create,drop
on *.* (或test.*/user.*/..)
to 用户名@localhost
identified by '密码';
如:新建一个用户账号以即可以访问数据库,须要进行以下操做:
mysql> grant usage
-> ON test.*
-> TO testuser@localhost;
Query OK, 0 rows affected (0.15 sec)
此后就建立了一个新用户叫:testuser,这个用户只能从localhost链接到数
据库并能够链接到test 数据库。下一步,咱们必须指定testuser这个用户能够执
行哪些操做:
mysql> GRANT select, insert, delete,update
-> ON test.*
-> TO testuser@localhost;
Query OK, 0 rows affected (0.00 sec)
此操做使testuser可以在每个test数据库中的表执行Select,Insert和
Delete以及Update查询操做。如今咱们结束操做并退出MySQL客户程序:
mysql> exit
Bye9!
1:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
2:二、建立一个数据库MYSQLDATA
mysql> 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的管理心得,
摘
自:
html
在windows中MySql以服务形式存在,在使用前应确保此服务已经启动,未启动可用
net start mysql命令启动。而Linux中启动时可用"/etc/rc.d/init.d/mysqld
start"命令,注意启动者应具备管理员权限。
刚安装好的MySql包含一个含空密码的root账户和一个匿名账户,这是很大的安全
隐患,对于一些重要的应用咱们应将安全性尽量提升,在这里应把匿名账户删除
、 root账户设置密码,可用以下命令进行:
use mysql;
delete from User where User="";
update User set Password=PASSWORD('newpassword') where User='root';
若是要对用户所用的登陆终端进行限制,能够更新User表中相应用户的Host字段,
在进行了以上更改后应从新启动数据库服务,此时登陆时可用以下相似命令:
mysql -uroot -p;
mysql -uroot -pnewpassword;
mysql mydb -uroot -p;
mysql mydb -uroot -pnewpassword;
上面命令参数是经常使用参数的一部分,详细状况可参考文档。此处的mydb是要登陆的
数据库的名称。
在进行开发和实际应用中,用户不该该只用root用户进行链接数据库,虽然使用
root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技术的
提升。咱们给一个应用中使用的用户赋予最恰当的数据库权限。如一个只进行数据
插入的用户不该赋予其删除数据的权限。MySql的用户管理是经过 User表来实现的
,添加新用户经常使用的方法有两个,一是在User表插入相应的数据行,同时设置相应
的权限;二是经过GRANT命令建立具备某种权限的用户。其中GRANT的经常使用用法以下
:
grant all on mydb.* to NewUserName@HostName identified by "password" ;
grant usage on *.* to NewUserName@HostName identified by "password";
grant select,insert,update on mydb.* to NewUserName@HostName identified
by "password";
grant update,delete on mydb.TestTable to NewUserName@HostName identified
by "password";
若要给此用户赋予他在相应对象上的权限的管理能力,可在GRANT后面添加WITH
GRANT OPTION选项。而对于用插入User表添加的用户,Password字段应用PASSWORD
函数进行更新加密,以防不轨之人窃看密码。对于那些已经不用的用户应给予清除
,权限过界的用户应及时回收权限,回收权限能够经过更新User表相应字段,也可
以使用REVOKE操做。
下面给出本人从其它资料()得到的对经常使用权限的解释:
全局管理权限:
FILE: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
Alter: 修改已存在的数据表(例如增长/删除列)和索引。
Create: 创建新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 创建或删除索引。
Insert: 增长表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。
特别的权限:
ALL: 容许作任何事(和root同样)。
USAGE: 只容许登陆--其它什么也不容许作