登录MySQL用户root之后,可以先创建数据库

创建数据库

CREATE DATABASE 数据库名称

创建一个名称为test的数据库 创建一个名为stuinfo的数据库_数据类型

创建数据库“stuinfo”,敲命令create database stuinfo;注意,最后必须有“;”,然后回车,此时stuinfo数据库创建成功!

创建数据库时,制定字符集:(详细参考,MySQL5.5参考手册)

第一种:create database 数据库名称 character set 字符集;

示例:create database stuinfo_1 character set utf8;

第二种:create database 数据库名称 character set 字符集 collate 校对规则;

示例:create database stuinfo_2 character set utf8 collate utf8_bin;

接下来,我们可以创建表

CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
.......
)

数据类型(data_type)规定了列可容纳何种数据类型。下面的表格包含了SQL中最常用的数据类型:

数据类型

描述

  • integer(size)
  • int(size)
  • smallint(size)
  • tinyint(size)

仅容纳整数。在括号内规定数字的最大位数。

  • decimal(size,d)
  • numeric(size,d)

容纳带有小数的数字。

"size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。

char(size)

容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。

在括号中规定字符串的长度。

varchar(size)

容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。

在括号中规定字符串的最大长度。

date(yyyymmdd)

容纳日期。

创建索引

索引被创建于已有的表中,它可使对行的定位更快速更有效。可以在表格的一个或者多个列上创建索引,每个索引都会被起个名字。用户无法看到索引,它们只能被用来加速查询。

注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常用于搜索的列上面创建索引。

唯一的索引 (Unique Index)

在表格上面创建某个一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。

CREATE UNIQUE INDEX 索引名称
ON 表名称 (列名称)

"列名称" 规定你需要索引的列。

简单的索引

在表上创建一个简单的索引。当我们省略关键词 UNIQUE 时,就可以使用重复的值。

CREATE INDEX 索引名称
ON 表名称 (列名称)

"列名称" 规定你需要索引的列。

 

修改数据库

语法:

alter database character set 字符集

具体的格式为:

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

说明如下:

  • ALTER DATABASE 用于更改数据库的全局特性。这些特性存储在数据库目录的 db.opt 文件中。
  • 使用 ALTER DATABASE 需要获得数据库 ALTER 权限。
  • 数据库名称可以忽略,此时语句对应于默认数据库。
  • CHARACTER SET 子句用于更改默认的数据库字符集。

示例:

show create database stuinfo;

创建一个名称为test的数据库 创建一个名为stuinfo的数据库_数据库_02

 

使用命令行工具将数据库 stuinfo 的指定字符集修改为 gb2312,默认校对规则修改为 utf8_unicode_ci,输入 MySQL 语句与执行结果如下所示:

alter database stuinfo default character set gb2312 default collate gb2312_chinese_ci;

show create database stuinfo;

创建一个名称为test的数据库 创建一个名为stuinfo的数据库_数据库_03