MySQL创建和修改数据库语法

时间:2023-12-17 12:26:02

1.创建数据库语法:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_specification [, create_specification] ...]

注:CREATE DATABASE用于创建数据库,并进行命名。如果要使用CREATE DATABASE,您需要获得数据库CREATE权限。如果存在数据库,并且您没有指定IF NOT EXISTS,则会出现错误。

create_specification:
    [DEFAULT] CHARACTER SET charset_name
  | [DEFAULT] COLLATE collation_name

注:create_specification选项用于指定数据库的特性。数据库特性储存在数据库目录中的db.opt文件中。CHARACTER SET子句用于指定默认的数据库字符集。COLLATE子句用于指定默认的数据库整序。

  有些目录包含文件,这些文件与数据库中的表对应。MySQL中的数据库的执行方法与这些目录的执行方法相同。因为当数据库刚刚被创建时,在数据库中没有表,所以CREATE DATABASE只创建一个目录。这个目录位于MySQL数据目录和db.opt文件之下。

  如果您手动在数据目录之下创建一个目录(例如,使用mkdir),则服务器会认为这是一个数据库目录,并在SHOW DATABASES的输出中显示出来。

也可以使用CREATE SCHEMA。

----------

2.修改数据库语法:

ALTER {DATABASE | SCHEMA} [db_name] alter_specification [, alter_specification] ...

注:ALTER DATABASE用于更改数据库的全局特性。这些特性储存在数据库目录中的db.opt文件中。要使用ALTER DATABASE,您需要获得数据库ALTER权限

alter_specification: 
    
[DEFAULT] CHARACTER SET charset_name 

 | [DEFAULT] COLLATE collation_name

注:CHARACTER SET子句用于更改默认的数据库字符集;COLLATE子句用于更改默认的数据库整序。

  数据库名称[db_name]可以忽略,此时,语句对应于默认数据库。也可以使用ALTER SCHEMA。