DDL: 操作数据库、表
1. 操作数据库: CRUD( Create Drop Alter Show )
1). C(Create):创建
1)创建数据库:
create database 数据库名称;
2)创建数据库,判断不存在,再创建:
create database if not exists 数据库名称;
3)创建数据库,并指定字符集
create database 数据库名称 character set 字符集名;练习: 创建db 数据库,判断是否存在,并制定字符集为gbk
create database if not exists db character set gbk;
2. R(Retrieve):查询
1)查询所有数据库的名称:
show databases;
2)查询某个数据库的字符集:查询某个数据库的创建语句
show create database 数据库名称;
注意
information_schema: 在查询的时候是视图实际并不存在
mysql: 核心数据库
performance_schema: 对提升性能做操作的数据库
test :空表
3) 查询某个数据库的字符集:查询某个数据库的创建语句
show create database mysql;
3. U(Update):修改
1)修改数据库的字符集
alter database 数据库名称 character set 字符集名称;
alter database db3 character set UTF8;
4. D(Delete):删除
1)删除数据库
drop database 数据库名称;
2)判断数据库存在,存在再删除
drop database if exists 数据库名称;5. 使用数据库 Use
1)先查询当前正在使用的数据库
select database();
2)使用数据库
use 数据库名称;
2. 操作表 CRUD( Create Drop Alter show/desc )
1. C(Create):创建
1) 语法:
create table 表名(
列名1 数据类型1,
列名2 数据类型2,
....
列名n 数据类型n
);
* 注意:最后一列,不需要加逗号(,)创建表
create table student(
id int,
name varchar(20),
age int ,
score double(4,1),
birthday date,
insert_time timestamp # 插入时间戳
);
2) 复制表:
create table 表名 like 被复制的表名;2. R(Retrieve):查询
1) 查询某个数据库中所有的表名称
show tables;
2) 查询表结构
desc 表名;
3. U(Update):修改
1) 修改表名
alter table 表名 rename to 新的表名;
2) 修改表的字符集
alter table 表名 character set 字符集名称;
3) 添加一列
alter table 表名 add 列名 数据类型;
4) 修改列名称 类型
alter table 表名 change 列名 新列别 新数据类型;
alter table 表名 modify 列名 新数据类型;
5) 删除列
alter table 表名 drop 列名;
4. D(Delete):删除
drop table 表名;
drop table if exists 表名 ;
3. 数据类型
创建表时需要的数据类型总结:
常用数据库类型总结:
| 类型 | 类型说明 |
| int | 整型 默认11位 |
| double | 浮点型 score double(5,2) // 一共最多5位小数, 保留2位小数 |
| varchar | 字符串型, varchar(20) 字符串长度为20 ,一个汉字一个字符, 一个英文字母一个字符 |
| date | 日期类型, 格式为yyyy-MM-dd, 只有年月日, 没有时分秒 |
| datetime | 日期, 包含年月日时分秒 yyyy-MM-dd HH:mm:ss |
| timestamp | 时间错类型 包含年月日时分秒 yyyy-MM-dd HH:mm:ss 如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值 |
详细的数据类型总结:
| 分类 | 类型名称 | 类型说明 |
| 整数 | tinyInt | 微整型:很小的整数(占 8 位二进制) |
| smallint | 小整型:小的整数(占 16 位二进制) | |
| mediumint | 中整型:中等长度的整数(占 24 位二进制) | |
| int(integer) | 整型:整数类型(占 32 位二进制) | |
| 小数 | float | 单精度浮点数,占 4 个字节 |
| double | 双精度浮点数,占 8 个字节 | |
| 日期 | time | 表示时间类型 |
| date | 表示日期类型 | |
| datetime | 同时可以表示日期和时间类型 | |
| 字符串 | char(m) | 固定长度的字符串, 无论使用几个字符都占满全部, M 为 0~255 之间的整数 |
| varchar(m) | 可变长度的字符串, 使用几个字符就占用几个, M 为 0~65535 之间的整数 | |
| 大二进制 | tinyblob Big Large Object | 允许长度 0~255 字节 |
| blob | 允许长度 0~65535 字节 | |
| mediumblob | 允许长度 0~167772150 字节 | |
| longblob | 允许长度 0~4294967295 字节 | |
| 大文本 | tinytext | 允许长度 0~255 字节 |
| text | 允许长度 0~65535 字节 | |
| longtext | 允许长度 0~4294967295 字节 | |
| mediumtext | 允许长度 0~167772150 字节 |
本文深入讲解了SQL数据库的创建、查询、更新和删除操作,包括数据库和表的管理。涵盖了DDL语句的全面应用,如CREATE、DROP、ALTER、SHOW等,以及数据类型的详细介绍。

2617

被折叠的 条评论
为什么被折叠?



