04
2015
05

Mysql操作大全

1、连接mysql

Sql代码
mysql -uxxx -pxxx -h192.168.0.123 -Pxxx


2、创建数据库

Sql代码
CREATE DATABASE dbname


3、查看有哪些数据库

Sql代码
SHOW DATABASES


4、选择将要操作的数据库

Sql代码

USE dbname


5、删除数据库

Sql代码
DROP DATABASE dbname

6、创建表 

Sql代码
CREATE TABLE tablename(id INT(11) NOT NULL,name VARCHAR(256) NOT NULL)

7、查看表结构信息 

Sql代码
DESC tablename
或:
SHOW CREATE TABLE tablename


8、删除表

Sql代码
DROP TABLE tablename


9、修改表

 9.1修改表类型

语法:

ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]

如将上表的name varchar(256)改成char(128):

Sql代码
ALTER TABLE tablename MODIFY name CHAR(128) NOT NULL


 9.2增加表字段

Sql代码
语法:
ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name]
如给上表添加age字段:
ALTER TABLE tablename ADD age INT(11) NOT NULL

 9.3删除表字段

Sql代码
  1. 语法:  

  2. ALTER TABLE tablename DROP [COLUMN] col_name;  

  3. 如删除上表age字段:  

  4. ALTER TABLE tablename DROP age;  

 9.4字段改名

Sql代码
语法:  
ALTER TABLE tablename CHANGE [COLUMN] old_col_name new_col_definition [FIRST | AFTER col_name]
如修改上表字段name名为uname:
ALTER TABLE tablename CHANGE name uname CHAR(128)

    CHANGE和MODIFY都可以修改表字段定义,不同的是CHANGE写两次字段名,但是CHANGE可以修改列名,而MODIFY则不能。

 9.5修改字段排列顺序

    上面介绍的修改表定义后面都有一个可选项目[FIRST | AFTER col_name],这个选项可以用来修改字段在表中的顺序,ADD新增字段的默认位置是在表的最后,CHANGE和MODIFY默认不改动字段的位置。

    如:

Sql代码
在上表中添加birth字段,并放到列id后面:
ALTER TABLE tablename ADD birth DATETIME AFTER id
再次修改,把它放到uname表后面:
ALTER TABLE tablename MODIFY birth DATETIME NOT NULL AFTER uname

 9.6修改表名

Sql代码
语法:
ALTER TABLE tablename RENAME [TO] new_tablename
如把上面表名tablename改成test
ALTER TABLE tablename RENAME test

 9.7修改表引擎

修改mysql配置文件my.cnf 
在[mysqld]最后添加为上
default-storage-engine=InnoDB
重启服务,使用SHOW ENGINES;查看存储引擎信息
对于已经存在的存储引擎,使用ALTER来修改表的存储引擎:
ALTER TABLE tablename TYPE = InnoDB;
查看表的存储引擎:
SHOW CREATE TABLE tablename;
或:
SHOW TABLE STATUS FROM tablename;

 

10、锁表

Sql代码  
锁表:
FLUSH TABLES WITH READ LOCK
解锁:
UNLOCK TABLES

 

11、创建索引

Sql代码  
1.ALTER TABLE
ALTER TABLE用来创建普通索引、UNIQUE索引或PRIMARY KEY索引。 
ALTER TABLE table_name ADD INDEX index_name (column_list)
ALTER TABLE table_name ADD UNIQUE (column_list)
ALTER TABLE table_name ADD PRIMARY KEY (column_list)

2.CREATE INDEX
CREATE INDEX可对表增加普通索引或UNIQUE索引。
CREATE INDEX index_name ON table_name (column_list)
CREATE UNIQUE INDEX index_name ON table_name (column_list)

 

12、删除索引

Sql代码  
可利用ALTER TABLE或DROP INDEX语句来删除索引。类似于CREATE INDEX语句,DROP INDEX可以在ALTER TABLE内部作为一条语句处理,语法如下。
DROP INDEX index_name ON talbe_name
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY
其中,前两条语句是等价的,删除掉table_name中的索引index_name。  
第3条语句只在删除PRIMARY KEY索引时使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。