1.0 DDL 操作 数据库
1.1.1 创建数据库
命令 | 说明 |
create database 数据库名; | 创建指定名称的数据库 |
create database 数据库名 character set 字符集; | 创建指定名称的数据库并指定字符集(一般都是定 utf-8 |
代码示例
/*
方式1直接指定数据库名进行创建
默认数据库字符集为:latin1
*/
create database dada;
/*
方式2指定数据库名,指定数据库的字符集,一般都指定为utf-8,
与java中的编码保持一致
*/
create database dada character set utf8;
1.1.2查看/选择数据库;
命令 | 说明 |
use 数据库 | 切换数据库 |
select database (); | 查看当前正在使用的数据库 |
show database; | 查看mysql中都有哪些数据库 |
show create database 数据库名 | 查看一个数据库的定义信息 |
代码示例
-- 切换数据库
use dada;
-- 查看当前正在使用的数据库
select database ();
-- 查看mysql中有哪些数据库
show database;
-- 查看一个数据库定义的信息
show create database dada;
1.1.3修改数据库
修改数据库字符集;
命令 | 说明 |
alter database 数据库名 character set 字符集; | 数据库字符集修改 |
-- 将数据库 dada 的字符集 修改为 utf8;
alter database 达达 character set utf8;
-- 查看当前数据库的基本信息,发现字符集已更改
show create database dada;
1.1.4删除数据库
命令 | 说明 |
drop database 数据库名 | 从mysql 中删除数据库 |
代码示例
-- 删除数据库
drop database dsada;
1.2 DDL 错做 数据表
1.2.1 mysql 常见数据库类型
(1)常见的数据类型;
类型 | 描述 |
int | 整型 |
double | 浮点型 |
varchar | 字符串型 |
date | 日期类型 |
(2)详细的数据库类型
注意:MySQL中的 char类型与 varchar类型,都对应了 Java中的字符串类型,区别在于:
char类型是固定长度的: 根据定义的字符串长度分配足够的空间。
varchar类型是可变长度的: 只使用字符串长度所需的空间
比如;保存字串符"dada"
char(10) 占用10个字节
varchar(10)占用4个字节
适用场景:
char类型适合存储 固定长度的字符串,比如 密码 ,性别一类
varchar类型适合存储 在一定范围内,有长度变化的字符串
1.2.2创建表
语法格式:
create table 表名(
字段名称 字段类型 (长度),
字段名称 字段类型 注意最后一列不要加逗号
);
需求1;创建商品分类表
表名:category
表中字段;
分类id :cid ,为整型
分类名称:cname,为字串符类型,指定长度为20
sql实现
-- 切换到数据库 dada
use dada;
-- 创建表
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 旧表名
代码示例
--创建一个表结构与test1相同的tste2表
create table test2 like test1;
-- 查看表结构
DESC test2;
1.2.3查看表
命令 | 说明 |
show table; | 查看当前数据库中所有的表名 |
desc; | 查看数据表的结构 |
代码示例
--查看当前数据库中所有的表明
show tables;
-- 显示当前数据表的结构
DESC dada;
--查看创建表的sql语句
show create table dada
1.2.4 删除表
命令 | 说明 |
drop table 表名; | 删除表(从数据库中永久删除指定的表名) |
drop table if exists 表名 | 判断表是否存在,存在就删除,不存在就不执行删除 |
代码示例
-- 直接删除 test1 表
DROP TABLE 达达;
-- 先判断 再删除test2表
DROP TABLE IF EXISTS dada;