mysql数据库之平常管理

分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
一、  链接数据库
Mysql –h服务器地址 –u用户名 –p密码
注:-h通常不用
二、  增长用户
Grant select on 数据库.* to 用户名@登录主机地址 identified by “密码”;
例如:GRANT Select,Insert,Delete,Update ON samp.* TO bill@snake.net INDETIFIED BY "rock"
创建远程用户
GRANT ALL PRIVILEGES ON *.* TO 'andy'@'%' IDENTIFIED by 'password';
删除用户
Delete from user where user=’test2’ and host=’localhost’;
三、  更改密码
Mysqladmin –u 用户名 –p旧密码 password 新密码
进入数据库使用:
Mysql> Update mysql.user set password=password(‘新密码’) where user=’root’;
Mysql> flush    privileges;(刷新数据库)
4 、忘记mysql 密码
关闭当前运行的mysqld服务程序:service mysqld stop(要先将mysqld添加为系统服务)
使用mysqld_saft脚本以安全模式(不加载受权表)启动mysqld 服务
/usr/local/mysql/bin/mysqld_saft --skip-grant-table &
使用空密码的root用户登陆数据库,从新设置ROOT用户的密码
#mysql -u    root
Mysql> Update mysql.user set password=password(‘新密码’) where user=’root’;
Mysql> flush    privileges;
5 显示数据库
       Show databases
6 、显示库中数据表
Use 数据库名;
       Show tables;
7 、显示表结构
       Use 数据库;
       Desc 表名;
8 、建立库
 create database database-name
9 、建立表
Use 数据库;
Create table 表名 (字段设定列表);
(具体字段设置再查阅)也可默认不加字段设定列表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根据已有的表建立新表: A:create table tab_new like tab_old (使用旧表建立新表)B:create table tab_new as select col1,col2… from tab_old definition only

10 、删除数据库或删除表
 drop database dbname
drop table tablename;
delete from table1 where 范围
11 、插入数据
Insert into user(字段名称一、字段名称2)value(字段值1,字段值2);
insert into table1(field1,field2) values(value1,value2);
12 、查询数据
Select * from 表名where 条件
例如:select pwd,username from tableName where Login_name='123';
select * from user where id=2;
查找:select * from table1 where field1 like ’%value1%’ ---like;的语法很精妙,查资料!
选择:select * from table1 where 范围;
排序: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;
13 、更新数据
Update 表名 set 字段名称=值 where 条件;
例如:update tableName set Login_name = '456',pwd=123 where Username='1';
Update user set username=’china’ where id=2;
14 、清空表中记录
       Delete from表名 条件;
例如:delete from user where id=2;
15 、增长字段
        alter table表名add column字段名字体类型default;
例如:alter table user add column tel varchar(12) default;
1六、更改字段名称
       Alter table表名change原字段名称 改后字段名称字体类型default;
例如:alter table user change tel intro varchar(33) default null;
1七、更改字段默认值
       Alter table表名alter字段名称set default;
例如:alter table user alter tel set default null;
1八、更改字段数据类型
       Alter table表名change column原字段名称改后字段名称类型;
例如:alter table user change column username username varchar(20);
1九、更改表名
Alter table旧表名rename [to]新表名;
例:Alter table aa rename to stuinfo;
20、给列更名
alter table pet change weight wei int;
增长列
alter table tbl_name add col_name type
例如,给表增长一列weight
mysql>alter table pet add weight int;
删除列
alter table tbl_name drop col_name
例如,删除列weight:
mysql>alter table pet drop weight;
改变列
alter table tbl_name modify col_name type
例如,改变weight的类型:
mysql> alter table pet modify weight samllint;
另外一种方法是:
alter table tbl_name change old_col_name col_name type
例如:
mysql> alter table pet change weight weight samllint;
2一、增长主键
Alter table表名add column字段名字体类型auto_increment PRIMARY KEY;
2二、备份mysql
Mysqldump –u root –p 数据库名 > 存储位置 备份名字
格式:mysqldump -u 用户名 -p 密码 数据库名 表名 >备份的路径
1)MySQL数据库备份命令 备份MySQL数据库的命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
-p后面若是紧贴着密码那么无需再次输入。
2)备份MySQL数据库并删除表的格式,可以让该备份覆盖已有数据库而不须要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
3)直接将MySQL数据库压缩备份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
4)备份MySQL数据库某个(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
5)同时备份多个MySQL数据库
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql
6)仅仅备份数据库结构
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
备份服务器上全部数据库
mysqldump –all-databases > allbackupfile.sql
还原MySQL数据库的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
还原压缩的MySQL数据库
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
将数据库转移到新服务器
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
23导出数据
Select * from user into outfile 路径
查看全部权限类型
select privilege_type from information_schema.user_privileges; 
授予部分权限
grant select,update on mysql.* to  hbhcen@localhost identified by
相关文章
相关标签/搜索