1、创建数据库命令

CREATE DATABASE 或 CREATE SCHEMA 

语法格式:

CREATE {DATABASE|SCHEMA}[IF NOT EXISTS] 数据库名称
[[DEFAULT] CHARACTER SET 字符集名
|[DEFAULT] COLLATE 校对规则名]

[] 内的为可选项 { | } 内的为二选一 MySQL 不区分大小写

IF NOT EXISTS :在创建数据库前进行判断,只有该数据库目前尚不存在,才执行CREATE DATABASE 操作;使用此命令,可以避免出现数据库存在在建出现的错误

DEFAULT :指定默认值

CHARACTER SET : 指定数据库字符集(Charset),其后的字符集名要用MySQL支持的具体的字符集名称代替,如:gb2312

COLLATE : 指定字符集的校对规则,其后的校对规则名要用MySQL支持的具体校对规则名称代替,如:gb2312_chinese_ci

创建数据库

CREATE DATABASE 数据库名;

2、查看数据库内容

show databases;       数据库内有多个表格,所以查看时使用 databases

3、查看数据库所支持的字符集和校对规则

show character set;

创建一个名为 FFF 的数据库,采用字符集gb2312和校对规则gb2312_chinese_ci;

 create database fff default character set gb2312 collate gb2312_chinese_ci;

如果指定了 CHARACTER X 和 COLLATE Y,那么采用字符集X和校对规则Y

如果指定了CHARACTER SET X 而没有指定COLLAET Y 那么采用CHARACTER SET X 和 CHARACTER X的默认校对规则

如果没有指定,那么采用服务器字符集和服务器校对规则

4、打开数据库

USE 数据库名         对数据库操作时,需要先进入要修改的数据库内

5、修改数据库

ALTER {DATABASE | SCHEMA}[数据库名][[DEFAULT]CHARACTER SET 字符集名|[DEFAULT] COLLATE 校对规则名]

6、删除数据库

DROP DATABASE [IF EXISTS] 数据库名

语法说明:

数据库名:要删除的数据库名称

IF EXISTS:使用 IF EXISTS子句可以避免删除不存在的数据库时出现报错

7、创建表

语法格式:

CREATE TABLE [IF NOT EXISTS] 表名(列名 数据类型 [NOT NULL|NULL][DEFAULT 列默认值]……)ENGINE=存储引擎

语法说明:

IF NOT EXISTS :该表目前上不存在时才执行CERATE TABLE 操作。避免出现表已存在无法在建的错误
表名:要创建的表名
列名:表中列的名称,长度不超64字符,而且在表中是唯一的
数据类型:列的数据类型,有的数据类型需要知名长度n,并用括号括起
NOT NULL |NULL:指定该列是否为空。如果不指定,则默认为NULL
DEFAULT 列默认值:为列指定默认值,默认值必须为一个常数。其中,blob和text列不能被赋予默认值
ENGINE = 存储引擎:MYSQL 支持数个存储引擎作为对不同表的类型的处理器,使用时要用具体的存储引擎,如:ENGINE=InnoDB

8、修改表

语法格式:

 ALTER [IGNORE] TABLE 表名   ADD [COLUMN] 列名 [FIRST|AFTER 列名]                             添加列 |ALTER [COLUMN] 列名 {SET DEFAULT 默认值|DROP DEFAULT}           修改默认值 |CHANGE [COLUMN] 旧列名 列定义                                    对列重命名 [FIRST|AFTER 列名]            |MODIFY [COLUMN] 列定义 [FIRST | AFTER 列名]                      修改列类型 |DROP [COLUMN] 列名                                               删除列 |RENAME [TO]  新表名                                              重命名该表

语法说明:

IGNORE:MYSQL相对于标准SQL的扩展。若修改后的新表中存在重复关键字,如果没有指定IGNORE,则当重复关键字错误发生时操作失败;如果制定了IGNORE,则对于有重复关键字的行只使用第1行,其他有冲突的行被删除。

列定义:定义列的数据类型的和属性,具体内容在CREATE TABLE 的语法中以作说明

9、添加列

ALTER TABLE 表名 ADD COLUMN 新列名 列表类型 是否为空;

ADD [COLUMN] :向表中增加新列

FIRST | AFTER :列名,表示在最前列或某列后添加,不指定则添加到最后

ALTER [COLUMN]:修改表中指定列的默认

10、修改列名和列的数据类型

把A列名  变换为B列名ALTER TABLE 表名 CHANGE A B INTEGER; 

CHANGE [COLUMN]:修改列的名称。重命名时给定旧列名和新列名及数据类型

11、修改指定列的数据类型

ALTER TABLE 表名 MODIFY 列名 数据类型 是否允许为空(如:NOT NULL);
ALTER TABLE 表名 MODIFY 列名 数据类型 是否允许为空(如:NOT NULL);

注:若表中该列所存的数据类型与将要修改的列的类型冲突,则发生错误

12、删除列或约束

USE 数据库名ALTER TABLE 表名 DROP COLUMN 列名;

DROP :从表中删除或约束列

13、修改表名

方法一 ALTER TABLE 表名 RENAME TO 新表名;方法二 RENAME TABLE 旧表名 TO 新表名;

RENAME:修改表名

14、复制表

CREATE TABLE [IF NOT EXISTS] 新表名 [LIKE 参照表名] | [AS (SELECT 语句)]

语法说明:

LIKE :使用LIKE 关键字创建一个与参照表名相同的结构的新表,列名、数据类型、空指定和索引也将复制,但是表的内容不会复制,因此创建的新表名是一个空表。

SELECT:语句表示一个表达式,列如:可以是一条SELECT 语句

AS:使用AS关键字可以复制表的内容,。但索引和完整性约束是不会复制的。

15、删除表

DROP TABLE [IF EXISTS] 表名1 [表名2]……

语法说明:

表名:要删除的表名;

IF EXISTS :避免删除的表不存在时出现错误信息

16、显示数据表信息

1、显示表文件名

SHOW TABLES;

2、显示数据结构

{DESCRIBE | DESC} 表名 [列名 | 通配符];

语法说明:

DESCRIBE | DESC :DESC是DESCRIBE的简写。二者用法相同

列名 | 通配符 :可以是一个列名称,或一个包含%和_的通配符的 字符串,用于获的对于带有与字符串相匹配的名称的各列的输出。没有必要在引号中包含字符串,除非其中包含空格或其他特殊字符。

3、显示表中的某列数据

DESC 表名  列名;