1.创建数据库:
CREATE {DATABASE|SCHEMA}[IF EXISTS] db_name
[create_specification]...
其中create_specification格式为:
[DEFAULT] CHARACTER SET [=] charset_name|
[DEFAULT] COLLATE [=] collation_name
举例:
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212337840-471448764.png)
2.选择数据库:可使用USE来指定其为当前数据库
USE db_name;
3.修改数据库:
ALTER {DATABASE|SCHEMA} [db_name]
alter_specification...
或者:
ALTER {DATABASE|SCHEMA} db_name
UPGRADE DATA DIRECTORY NAME
其中,alter_specification格式为:
[DEFAULT] CHARACTER SET [=] charset_name |
[DEFAULT] COLLATE [=] collation_name
举例:修改数据库mysql_test的默认字符集和校对规则:
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212338294-1048323502.png)
4.删除数据库:
DROP {DATABASE|SCHEMA} [IF EXISTS] db_name
举例:
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212339450-1143433372.png)
注意:mysql安装后,会自动创建名为information_schema和mysql的2个系统数据库,若删除后则mysql不可正常运转。
5.查看数据库:
SHOW {DATABASE|SCHEMA}
[LIKE 'pattern'| WHERE expr] -- like用于匹配指定的库名;where指定库名称查询范围的条件
举例:
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212339997-458257596.png)
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212340903-1175791132.png)
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212341231-388848282.png)
如上图,show character set:用来查询数据库的字符集
show collation:用来查询校对规则
二、表的创建
1.创建表
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tb1_name
[(create_definition,...)] //表创建定义
[table_options] // 表选项
[partition_options] // 分区选项
举例: 创建表:
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212341606-910438969.png)
查询下表结构:
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212342075-910597581.png)
auto_increment:设置字段值为自增的,字段类型必须为整型default 0:默认值null:不设置默认为null 设置为not null 则字段不允许为空primary key:设置主键engine=innoDB:设置数据库引擎,不设置默认为innodb
三、表的更新
常用语法: ![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212342403-1197288753.png)
-->将列wid改为id名称,且长度变为20
-->设置gender默认值为default
-->修改username类型为char长度20
-->删除resume列
--worker表改名为wk
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212344903-751484943.png)
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212345137-2086188436.png)
ALTER [ONLINE|OFFLINE][IGNORE] TABLE tablename
[alter_specification[,alter_specification]...]
[partition_options]
1. ignore:修改表时存在重复关键字,指定ignore可以防止操作失败,对于有重复的行只选第一行,其余有冲突的被删除
2.add column:增加新列,如图:
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212342403-1197288753.png)
备注:after用来设置增加列的位置(示例中在job后),还有first用来将列放在表的第一个字段,默认放最后一列
3.change column:修改指定列名称和数据类型,如图
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212342747-547686734.png)
4.alter column:修改或删除指定列的默认值
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212343090-305583899.png)
5.modify column:只修改指定列的数据类型,不改名称
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212343419-1270986918.png)
6.drop column:删除列,删除后列中所有数据都丢失
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212344153-42597555.png)
7.rename to:修改表的名字
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212344528-660261487.png)
8.rename table:重命名表,效果同7
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212344903-751484943.png)
9.复制表:用created...like,如图
![](https://images2015.cnblogs.com/blog/760511/201509/760511-20150909212345137-2086188436.png)
10.删除表:drop table[if exists] tablename 注意:删除后数据被删,但用户权限不会被删
11.查看表:
显示表名:show tables
显示表结构:show columns from tablename 或者desc tablename