DDL操作 数据库
创建数据库
•相关命令
•代码示例
/*
方式1 直接指定数据库名进行创建
默认数据库字符集为:latin1
*/
CREATE DATABASE db1;
/*
方式2 指定数据库名称,指定数据库的字符集
一般都指定为 utf8,与Java中的编码保持一致
*/
CREATE DATABASE db1_1 CHARACTER SET utf8;
查看/选择数据库
•相关命令
•代码示例
-- 切换数据库 从db1 切换到 db1_1
USE db1_1;
-- 查看当前正在使用的数据库
SELECT DATABASE();
-- 查看MySQL中有哪些数据库
SHOW DATABASES;
-- 查看一个数据库的定义信息
SHOW CREATE DATABASE db1_1;
修改数据库
•相关命令
•SQL示例
-- 将数据库db1 的字符集 修改为 utf8
ALTER DATABASE db1 CHARACTER SET utf8;
-- 查看当前数据库的基本信息,发现编码已更改
SHOW CREATE DATABASE db1;
删除数据库
•相关命令
代码示例
-- 删除某个数据库
DROP DATABASE db1_1;
DDL 操作 数据表
MySQL常见的数据类型
1)常用的数据类型:
2) 详细的数据类型(了解即可)
注意:MySQL中的 char类型与 varchar类型,都对应了 Java中的字符串类型,区别在于:
•char类型是固定长度的: 根据定义的字符串长度分配足够的空间。
•varchar类型是可变长度的: 只使用字符串长度所需的空间。
比如:保存字符串 “abc”
•x char(10) 占用10个字节。
•y varchar(10) 占用3个字节。
适用场景:
•char类型适合存储 固定长度的字符串,比如 密码 ,性别一类。
• varchar类型适合存储 在一定范围内,有长度变化的字符串 。
创建表
•需求1: 创建商品分类表
表名:category
表中字段:
分类ID :cid ,为整型
分类名称:cname,为字符串类型,指定长度20
语法格式:
CREATE TABLE 表名(
字段名称1 字段类型(长度),
字段名称2 字段类型 注意 最后一列不要加逗号
);
SQL示例
-- 切换到数据库 db1
USE db1;
-- 创建表
CREATE TABLE category(
cid INT,
cname VARCHAR(20)
);
•需求2: 创建测试表
表字段说明
表名: test1
表中字段:
测试ID : tid ,为整型
测试时间: tdate , 为年月日的日期类型
SQL示例
-- 创建测试表
CREATE TABLE test1(
tid INT,
tdate DATE
);
•需求3: 快速创建一个表结构相同的表(复制表结构)
语法格式
create table 新表明 like 旧表名
SQL示例
-- 创建一个表结构与 test1 相同的 test2表
CREATE TABLE test2 LIKE test1;
-- 查看表结构
DESC test2;
查看表
•相关命令
•SQL示例
-- 查看当前数据库中的所有表名
SHOW TABLES;
-- 显示当前数据表的结构
DESC category;
-- 查看创建表的SQL语句
SHOW CREATE TABLE category;
删除表
•相关命令
•SQL示例
-- 直接删除 test1 表
DROP TABLE test1;
-- 先判断 再删除test2表
DROP TABLE IF EXISTS test2;
修改表
•需求1: 将category表 改为 category1
语法格式
rename table 旧表名 to 新表名
SQL示例
RENAME TABLE category TO category1;
•需求2: 将category表的字符集 修改为gbk
修改表的字符集,语法格式
alter table 表名 character set 字符集
SQL示例
alter table category character set gbk;
•需求3: 为分类表添加一个新的字段为 分类描述 cdesc varchar(20)
向表中添加列, 关键字 ADD,语法格式:
alter table 表名 add 字段名称 字段类型
SQL示例
-- 为分类表添加一个新的字段为 分类描述 cdesc varchar(20)
ALTER TABLE category ADD cdesc VARCHAR(20);
•需求4:对分类表的描述字段进行修改,修改为varchar(50)
修改表中列的 数据类型或长度 , 关键字 MODIFY,语法格式:
alter table 表名 modify 字段名称 字段类型
SQL示例
ALTER table category MODIFY cdesc VARCHAR(50);
•需求5: 对分类表中的 desc字段进行更换, 更换为 description varchar(30)
修改列名称 , 关键字 CHANGE,语法格式
alter table 表名 change 旧列名 新列名 类型(长度);
SQL示例
ALTER TABLE category CHANGE cdesc description VARCHAR(30);
•需求6: 删除分类表中description这列
删除列 ,关键字 DROP,语法格式:
alter table 表名 drop 列名;
SQL示例
ALTER TABLE category DROP description;