1、连接mysql
| 
										1
									 | 
											mysql -uxxx -pxxx -h192.168.0.123 -Pxxx
										 | 
			
		
2、创建数据库
| 
										1
									 | 
											CREATE DATABASE dbname
										 | 
				
			
3、查看有哪些数据库
| 
										1
									 | 
											SHOW DATABASES
										 | 
				
			
4、选择将要操作的数据库
5、删除数据库
| 
									1
								 | 
										DROP DATABASE dbname
									 | 
6、创建表
| 
									1
								 | 
										CREATE TABLE tablename(id INT(11) NOT NULL,name VARCHAR(256) NOT NULL)
									 | 
7、查看表结构信息
| 
										1
									 
										2
									 
										3
									 | 
											DESC tablename
										 
											或:
										 
											SHOW CREATE TABLE tablename
										 | 
				
			
8、删除表
| 
										1
									 | 
											DROP TABLE tablename
										 | 
				
			
9、修改表
9.1修改表类型
语法:
ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
如将上表的name varchar(256)改成char(128):
| 
										1
									 | 
											ALTER TABLE tablename MODIFY name CHAR(128) NOT NULL
										 | 
				
			
9.2增加表字段
| 
									1
								 
									2
								 
									3
								 
									4
								 | 
										语法:
									 
										ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name]
									 
										如给上表添加age字段:
									 
										ALTER TABLE tablename ADD age INT(11) NOT NULL
									 | 
9.3删除表字段
- 
					语法: 
- 
					ALTER TABLE tablename DROP [COLUMN] col_name; 
- 
					如删除上表age字段: 
- 
					ALTER TABLE tablename DROP age; 
9.4字段改名
| 
									1
								 
									2
								 
									3
								 
									4
								 | 
										语法:  
									 
										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默认不改动字段的位置。
如:
| 
									1
								 
									2
								 
									3
								 
									4
								 | 
										在上表中添加birth字段,并放到列id后面:
									 
										ALTER TABLE tablename ADD birth DATETIME AFTER id
									 
										再次修改,把它放到uname表后面:
									 
										ALTER TABLE tablename MODIFY birth DATETIME NOT NULL AFTER uname
									 | 
9.6修改表名
| 
									1
								 
									2
								 
									3
								 
									4
								 | 
										语法:
									 
										ALTER TABLE tablename RENAME [TO] new_tablename
									 
										如把上面表名tablename改成test
									 
										ALTER TABLE tablename RENAME test
									 | 
9.7修改表引擎
| 
									1
								 
									2
								 
									3
								 
									4
								 
									5
								 
									6
								 
									7
								 
									8
								 
									9
								 
									10
								 | 
										修改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、锁表
| 
									1
								 
									2
								 
									3
								 
									4
								 | 
										锁表:
									 
										FLUSH TABLES WITH READ LOCK
									 
										解锁:
									 
										UNLOCK TABLES
									 | 
11、创建索引
| 
									1
								 
									2
								 
									3
								 
									4
								 
									5
								 
									6
								 
									7
								 
									8
								 
									9
								 
									10
								 | 
										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、删除索引
| 
									1
								 
									2
								 
									3
								 
									4
								 
									5
								 
									6
								 | 
										可利用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索引。
									 | 
			
		
 
              