创建数据库语法:
CREATE DATABASE 数据库名称示例:CREATE DATABASE is;创建一个名为is的数据库; 查看所有已经存在的数据库: SHOW DATABASE; 查看一个已经存在的数据库的信息:
SHOW CREATE DATABASE is;MySQL一旦安装完成,创建的数据库编码也就确定了,但如果想修改数据库的编码,可以使用以下语句:
ALTER DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gbk_bin;DROP DATABASE 数据库名称;
在创建数据表之前,需要指明在哪一个数据库创建, USE 数据库名称; 表示,以下的操作是在当前数据库中操作。 创建数据表语法格式如下:
CREATE TABLE 表名 ( 字段名1,数据类型[完整性约束条件], 字段名2,数据类型[完整性约束条件], 字段名3,数据类型[完整性约束条件], 字段名1,数据类型[完整性约束条件], )表名是指要创建的数据表的名称,“字段名”是数据表的列表,完整性约束,指的是字段的某些特殊约束条件。 示例:
CREATE TABLE tb_grade ( Id INT(10), name VARCHAR(20), grade FLOAT );如果要使查看的结果整齐,需要在后面加上\G ;
SHOW CTEATE TABLE tb_grade\G也可以简写为:DESC表名;
在数据库中,不同的数据表是通过表名来进行区分的,在MySQL中,修改表名的语法规则如下:
ALTER TABLE 旧表名 RENAME [TO] 新表名;ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型; 需要注意的是,新数据类型不能为空,且必须设置成与原字段名相同;
修改字段的数据类型,就是将字段的数据类型转为另外一种数据类型。
ALTER TABLE 表名 MODIFY 字段名 数据类型;在上述格式中,新字段名是添加的字段的名称,“FIRST”为可选参数,用于将新添加的字段设置为表的第一字段,“AFTER”也为可选参数,用于将新添加的字段添加到指定的“已存在的字段名”后面;
ALTER TABLE 表名 DROP 字段名;
为了防止在数据表中插入错误的数据,在MySQL中,定义了一些维护数据库完整性的规则,即表的约束 约束条件 说明 PRIMARY KEY FOREIGN KEY NOT NULL UNIQUE DEFAULT 主键约束,用于唯一标识对于的记录 外键约束 非空约束 唯一性约束 默认值约束,设置字段的默认值 在MySQL中为了快速查找表中的信息,可以设置主键来实现。主键约束分为两种:
单字段主键是指由一个字段构成的主键,语法如下: 字段名 数据类型 PRIMARY KEY 示例:
CREATE TABLE example(id INT PRIMARY KEY, name VARCHAR(20), grade FLOAT );上述SQL执行之后,表中创建了id ,name ,grade 三个字段,其中,id字段是主键。
多字段主键指的是多个字段组合而成的主键,语法如下: PRIMARY KEY(字段名1,字段名2,字段名3) 示例:
CREATE TABLE example(id INT, name VARCHAR(20), grade FLOAT, PRIMARY KEY(id,name) );主键为两个,这两个字段的组合可以唯一确定一条记录。
非空约束指的是字段是值不能为NULL,在MySQL中,非空约束是通过NOT NULL定义的,基本语法如下:
字段名 数据类型 NOT NULL;CREATE TABLE example(id INT PRIMARY KEY, name VARCHAR(20) NOT NULL, grade FLOAT );
唯一约束用于保证数据表中的字段的唯一性,即表中的字段的值不能重复出现。
字段名 数据类型 NOT NULL;CREATE TABLE example(id INT PRIMARY KEY, name VARCHAR(20) NOT NULL, grade FLOAT UNIQUE );
字段名 数据类型 DEFAULT 默认值;
CREATE TABLE example(id INT PRIMARY KEY, name VARCHAR(20) NOT NULL, grade FLOAT DEFAULT 0 );在数据表中,若想为表中插入的新纪录自动生成唯一的ID,可以使用以下方法: 字段名 数据类型 AUTO_INCREMENT; 示例:
CREATE TABLE example(id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL, grade FLOAT );