数据定义语言

时间:2024-06-27
编辑:tance.cc

创建数据库:
CREATE DATABASE [IF NOT EXISTS] mydb1;
例如:CREATE DATABASE mydb1,创建一个名为 mydb1 的数据库。如果这个数据已经存在,那么会报错。
例 CREATE DATABASE IF NOT EXISTSmydb1,在名为 mydb1 的数据库不存在时创建该库,这样可以避免报错。

删除数据库:
DROP DATABASE [IF EXISTS] mydb1;
例如:DROP DATABASE mydb1,删除名为 mydb1 的数据库。如果这个数据库不存在,那么会报错。DROP DATABASE IF EXISTS mydb1,就算 mydb1不存在,也不会的报错。

修改数据库编码:ALTER DATABASE mydb1 CHARACTER SET utf8
修改数据库 mydb1 的编码为 utf8。注意,在 MySQL 中所有的 UTF-8 编码都
不能使用中间的“-”,即 UTF-8 要书写为 UTF8。



2.数据类型

MySQL 与 Java、C 一样,也有数据类型MySQL 中数据类型主要应用在列上。

常用类型:

int:整型
double:浮点型,例如 double(5,2)表示最多 5 位,其中必须有 2 位小数,即最大值为 999.99;
decimal:泛型型,在表单线方面使用该类型,因为不会出现精度缺失问题;
char:固定长度字符串类型;(当输入的字符不够长度时会补空格)
varchar:固定长度字符串类型;
text:字符串类型;
blob:字节类型;
date:日期类型,格式为:yyyy-MM-dd;
time:时间类型,格式为:hh:mm:ss
timestamp:时间戳类型;


3.操作表

创建表

CREATE TABLE 表名(

列名 列类型, 

列名 列类型,

...... 

);


例如,创建stu表

CREATE TABLE stu(
sid CHAR(6), 
sname VARCHAR(20), 
age INT, 
gender VARCHAR(10)
);


查看表的结构

DESC 表名;

删除表

DROP TABLE 表名;

修改表

添加列:给 stu 表添加 classname 列
ALTER TABLE stu ADD (classname varchar(100));
修改列的数据类型:修改 stu 表的 gender 列类型为 CHAR(2)
ALTER TABLE stu MODIFY gender CHAR(2);
修改列名:修改 stu 表的 gender 列名为 sex
ALTER TABLE stu change gender sex CHAR(2);
删除列:删除 stu 表的 classname 列
ALTER TABLE stu DROP classname;
修改表名称:修改 stu 表名称为 student
ALTER TABLE stu RENAME TO student;