mysql>Delete from user where user='test' and host='%' mysql> FLUSH PRIVILEGES;
注意:例2增加的用户是比较危险的,你想如某个人知道test的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据库test为所欲为了(可以通过限定主机)
mysql>grant select,insert,update,delete on test.* to test@\地址\2.3. 显示命令 显示数据库列表:
mysql>show databases;
mysql>show schemas; --mysql 5.0.2 显示表格
mysql>show tables from mydb; 显示表格状态
Mysql>SHOW TABLE STATUS; 显示字符集:
mysql> SHOW CHARACTER SET; 显示创建表:
mysql> show create table quote;
显示用户权限:
mysql> SHOW GRANTS FOR 'test'@'localhost'; mysql>SHOW GRANTS;
mysql>SHOW GRANTS FOR CURRENT_USER; mysql>SHOW GRANTS FOR CURRENT_USER(); 显示index:
mysql>SHOW INDEX FROM mydb.mytable; 显示表结构:
mysql>desc mydb.tablename;
mysql>show columns from mydb.tablename; 显示MySQL数据库的版本: mysql>select version();
显示函数
mysql>Select * from mysql.func; 显示存储过程
mysql>Select * from mysql.proc; 显示存储引擎
mysql> SHOW ENGINES; 显示变量:
mysql>SHOW VARIABLES; 显示状态:
Mysql> SHOW STATUS; 显示进程
Mysql>SHOW PROCESSLIST
显示 INNODB 状态
Mysql>SHOW INNODB STATUS
显示连接状态
Mysql>SHOW STATUS LIKE '%CONNECT%'; 显示线程状态
Mysql>SHOW STATUS LIKE '%THREAD%'; 等等..
2.4. 创建.修改.删除 2.4.1. 创建数据库
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name | [DEFAULT] COLLATE collation_name
例如:
CREATE DATABASE IF NOT EXISTS ddd --如果不存在,则创建. CHARACTER SET 'ujis' --设定字符集 COLLATE 'ujis_japanese_ci';
2.4.2. 创建表
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)]
[table_options] [select_statement]
例子:
CREATE TABLE if not exists `Admin_User` (
`id` int(11) NOT NULL auto_increment, --PRIMARY KEY, `livedoorId` varchar(255) NOT NULL default '', `password` varchar(255) NOT NULL default '', `auth` int(11) default '0',
PRIMARY KEY (`id`) --设定主健
) ENGINE=MyISAM DEFAULT CHARSET=ujis ?设定字符集 ENGINE=MyISAM 默认存储引擎
The binary portable storage engine that is the default storage engine used by MySQL
对于每个MyISAM 存储引擎的表,在硬盘上存在3个文件 File Purpose
tbl_name.frm Table format (definition) file tbl_name.MYD Data file tbl_name.MYI Index file
ENGINE= InnoDB
Transaction-safe tables with row locking and foreign keys.
ENGINE = BDB
Transaction-safe tables with page locking. 还有其他的内存引擎 MEMORY 归档 ARCHIVE 等等 ISAM 不再使用了
2.4.3. 创建索引
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type]
ON tbl_name (index_col_name,...) index_col_name:
col_name [(length)] [ASC | DESC]
将customer 表的name 字段前十个字符做为索引
CREATE INDEX part_of_name ON customer (name(10));
MYSQL 5.0 特性
存储引擎为 MyISAM, InnoDB, or BDB 的表格上,可以在有null值的字段上创建索引
存储引擎为 MyISAM, InnoDB, or BDB 的表格上,可以在BLOB TEXT 上创建索引 只有在MyISAM 类型表格上,可以在CHAR, VARCHAR, and TEXT 字段类型上创建FULLTEXT 索引
Storage Engine Allowable Index Types MyISAM BTREE InnoDB BTREE
MEMORY/HEAP HASH, BTREE
可以指定索引类型
Example:
CREATE TABLE testtable (id INT) ENGINE = MEMORY;
CREATE INDEX id_index USING BTREE ON testtable (id); 2.4.4. 修改表
ALTER [IGNORE] TABLE tbl_name
alter_specification [, alter_specification] ... IGNORE 忽略主健重复的错误,如果重复,采用第一条,其余删除 例子:同时多个操作
mysql> ALTER TABLE t2 DROP COLUMN c, DROP COLUMN d; 例子, 重命名 INTEGER 字段,从 a 到 b:
mysql> ALTER TABLE t1 CHANGE a b INTEGER;
例子 修改字段类型,仍然需要新旧字段名称,即使字段名称相同: mysql> ALTER TABLE t1 CHANGE b b BIGINT NOT NULL; 也可以使用modify
mysql> ALTER TABLE t1 MODIFY b BIGINT NOT NULL;
在mysql 5.0 可以使用FIRST or AFTER 字段来添加add 字段,默认是在最后 modify change 也可以使用
在mysql 5.0 InnoDB 存储引擎支持 ALTER TABLE 删除外健:
mysql>ALTER TABLE yourtablename DROP FOREIGN KEY fk_symbol;
例子: 创建表
mysql> CREATE TABLE t1 (a INTEGER,b CHAR(10)); 重命名表
mysql> ALTER TABLE t1 RENAME t2;
MODIFY a 字段为 TINYINT NOT NULL , 并且 change 字段 b,从 CHAR(10) 到 CHAR(20) 并改名为c:
mysql> ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20); 添加新字段 d:
mysql> ALTER TABLE t2 ADD d TIMESTAMP;
在a d 上增加索引:
mysql> ALTER TABLE t2 ADD INDEX (d), ADD INDEX (a); 删除字段c:
mysql> ALTER TABLE t2 DROP COLUMN c;
添加一个自动增长的字段c ,并且添加c 为主健:
mysql> ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT, -> ADD PRIMARY KEY (c);
2.4.4.1. 修改外键 语法:
ALTER TABLE tbl_name
ADD [CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...) REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}] [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
例子:
create table aa (id1 int not null,name varchar(20),primary key(id1))type=InnoDB;
create table b(id2 int not null,lessonname varchar(20),primary key(id2))type=InnoDB;
alter table b add FOREIGN KEY id (id2) references aa(id1);
2.4.5. 删除 删除数据库
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name 例子: mysql>drop DATABASE IF EXISTS testdb; 删除表
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCADE]
例子: mysql>drop TABLE IF EXISTS testTable;
删除索引
DROP INDEX index_name ON tbl_name
例子: mysql>drop index testIndex on testTable; 重命名
RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] ...
例子:RENAME TABLE current_db.tbl_name TO other_db.tbl_name; 2.5. 数据库备份恢复 数据库备份
数据库备份命令:
mysqldump --opt --user=用户名 --password=密码 --default_character-set=字符集 -B数据库> 输出的sql文件 例子:
E:\\mysql>Mysqldump --user=ptsdb --password=ptsdb --default_character-set=ujis --opt pts>dump.sql 参见批处理文件
数据库导入命令:
mysql --user=用户名 --password=密码 --default_character-set=字符集 [数据库]<导入的sql 语句
E:\\mysql>mysql -uptsdb -pptsdb --default-character-set=ujis
例子: 对于InnoDB(没有设定字符集)
Following mysqldump import example for InnoDB tables is at least 100x faster than previous examples.
1. mysqldump --opt --user=username --password database > dumbfile.sql
2. Edit the dump file and put these lines at the beginning: SET AUTOCOMMIT = 0;
SET FOREIGN_KEY_CHECKS=0;
3. Put these lines at the end: SET FOREIGN_KEY_CHECKS = 1; COMMIT;
SET AUTOCOMMIT = 1;
4. mysql --user=username --password database < dumpfile.sql
参数说明:
--add-drop-database Add a DROP DATABASE statement before each CREATE DATABASE statement.
--add-drop-table
Add a DROP TABLE statement before each CREATE TABLE statement.
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库mysql命令大全(2)在线全文阅读。
相关推荐: