Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103647621
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Mysql/postgreSQL

2008-04-19 22:06:08

作者:lg    来自:

mysql工作技巧总结

1.修改mysql中root的密码:
shell>mysql -u root -p
mysql>update user set Password=PASSWORD('NEW_PASSWORD') where user='root';
>flush privileges;

2.远程登录mysql server:(当然server必须首先给某个远程用户授权了)
shell>mysql -h host -u user -p

3.打开数据库:use dbname;
显示所有数据库:show databases;
显示数据库mysql中所有的表:先use mysql;然后show tables;
显示表的列信息:describe user;(显示表mysql数据库中user表的信息);

4.创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个
GRANT ALL PRIVILEGES ON *.* TO lg@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO lg@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;

5.删除授权:
REVOKE ALL PRIVILEGES ON *.* FROM root@"%";
USE mysql;
DELETE FROM user WHERE User="root" and Host="%";
FLUSH PRIVILEGES;

6. 创建一个用户custom在特定客户端.com登录,可访问特定数据库bankaccount
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON bankaccount.*
TO lg@.com IDENTIFIED BY 'stupid';

7.重命名表:
ALTER TABLE t1 RENAME t2;

为了改变列a,从INTEGER改为TINYINT NOT NULL(名字一样),
并且改变列b,从CHAR(10)改为CHAR(20),同时重命名它,从b改为c:
ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);

增加一个新TIMESTAMP列,名为d:
ALTER TABLE t2 ADD d TIMESTAMP;

在列d上增加一个索引,并且使列a为主键:
ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);

删除列c:
ALTER TABLE t2 DROP COLUMN c;

增加一个新的AUTO_INCREMENT整数列,命名为c:
ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);
注意,我们索引了c,因为AUTO_INCREMENT柱必须被索引,并且另外我们声明c为NOT NULL,
因为索引了的列不能是NULL。

8.删除记录:
DELETE FROM t1 WHERE C>10;

6.改变某几行:
UPDATE t1 SET user=lg,password=lg;

7.使用name列的头10个字符创建一个索引:
CREATE INDEX part_of_name ON customer (name(10));
8、修復指定的數據庫用
mysqlcheck -A -o -r Database_NAME -p
阅读(352) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~