日期:2014-05-16  浏览次数:21078 次

mysql命令 积累笔记
这部分会不断总结,添加内容。

1. 修改表明:

ALTER  TABLE table_name RENAME TO new_table_name

例如 ALTER  TABLE admin_user RENAME TO a_user

1.1.显示表结构

describe table;

1.2显示参数

show variables;

1.3 查看当前用户的连接数(默认显示100条,如果现实所有,用show full processlist;)

show processlist;

1.4 .创建用户

grant all on *.* to 'root'@'%' identified by '123';

如果用户已经存在,可以起到对该用户访问授权的作用。


2. 修改数据库

  2.1修改字段类型和长度
alter table 表名 modify column 字段名 类型;
例如:数据库中user表 student字段是varchar(30)
alter table user modify column student varchar(50) ;


2.2 增加一个新列549830479
alter table adcontent add ppvod int(0) NOT NULL default 0;

2.3 删除列549830479
   alter table t2 drop column c;
例如 alter table adcontent drop column ppvod;

2.3 重命名列549830479
   alter table t1 change a b integer;
例如   alter table adcontent change  pps ppgo int;

2.4 重命名表549830479
   alter table gyes rename othertable;


2.5 改变列的类型549830479
   alter table t1 change b b bigint not null;
alter table infos change list list tinyint not null default '0';


2.6 删数据库
   DROP DATABASE databasename;

2.7修改密码
set password=password('new password');

2.7.1 修改指定用户的密码
update mysql.user set password=password('new password') where User='name' and Host='host';
2.7.2 删除用户
delete from user where User='name' and Host='%';

修改root密码
mysqladmin -u root -p password mypasswd




方法1
使用phpmyadmin,这是最简单的了,修改mysql库的user表,
不过别忘了使用PASSWORD函数。

方法2
使用mysqladmin,这是前面声明的一个特例。
mysqladmin -u root -p password mypasswd
输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。
把命令里的root改为你的用户名,你就可以改你自己的密码了。
当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin,
那么这种方法就是无效的。 而且mysqladmin无法把密码清空。
下面的方法都在mysql提示符下使用,且必须有mysql的root权限:

方法3
mysql> INSERT INTO mysql.user (Host,User,Password)
VALUES(\%,jeffrey,PASSWORD( iscuit));
mysql> FLUSH PRIVILEGES

确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。在《mysql中文参考手册》里有这个例子,所以我也就写出来了。 注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。

方法4
和方法三一样,只是使用了REPLACE语句
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES(\%,jeffrey,PASSWORD( iscuit));
mysql> FLUSH PRIVILEGES

方法5
使用SET PASSWORD语句,
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD( iscuit);
你也必须使用PASSWORD()函数,
但是不需要使用FLUSH PRIVILEGES。

方法6
使用GRANT ... IDENTIFIED BY语句
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY  iscuit
这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。
注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。


2.8 修改存储引擎

    要把一个表从一个类型转到另一个类型,可使用ALTER TABLE语句:
    ALTER TABLE t ENGINE = MYISAM;
    ALTER TABLE t TYPE = BDB;


3. 数据导入导出
首先:若配置的环境变量可以直接执行下面命令。若没环境变量,就需要到bin目录下执行
    3.1 导出整个数据库
   mysqldump -u 用户名 -p 数据库名 > 导出的文件名
   mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
  3.2 导出一个表
   mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
   mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
  3.3导出一个数据库结构
   mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
   -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
  
备忘: mysqldump在linux下可直接使用 在windows下有时需要进入mysql/bin中使用因为有时用的是类似appserv的套装软件 这样的话命令就不能直接使用 因为这些命令没在环境变量的目录里 而且用mysqldump导出的备份必须先建立数据库才能导入

    3.4 查看建表sql

    show create table tablename;
    show create table user;

    3.5 导