数据库操作(DDL)

数据库 专栏收录该内容
2 篇文章 0 订阅

1. 数据库操作

show databases 查看所有数据库
use DATABASENAME 切换数据库(选择要操作的数据库)
create database [if not exists] DATABASENAME 创建数据库
drop database [if exists] DATABASENAME 删除数据库

2. 数据类型(列类型)

int 整型
double 浮点型 double(5,2)表示最多有5位,其中必须有2位小数
decimal 浮点型,和钱相关,不会出现精度缺失的问题
char 固定长度字符串类型 char(255) 数据长度不足指定长度,补足到指定长度
carchar 可变长度字符串类型 varchar(65535)数据长度不足指定长度,补足到指定长度
text(clob) 字符串类型 mysql独有的类型,方言,标准里没有(存储超大的字符数据)
blob 字节类型 存储超大的二进制数据
date 日期类型 yyyy-MM-dd
time 时间类型 hh: mm:ss
timestamp 时间戳类型

3.表的操作

创建表:
create table [if not exists] 表名( 列名 列类型, 列名 列类型, ...... );

查看表:
show tables; 查看当前数据库中所有表名称
show create table 表名;查看指定表的创建语句
desc 表名;查看表结构
修改表:

alter table 表名 add( 列名 列类型, 列名 列类型, ...... );
alter table 表名 modify 列名 列类型;修改列类型
alter table 表名 change 原列名 新列名 列类型; 修改列名
alter table 表名 drop 列名;修改列
alter table 原表名 rename to 新表名;修改表名

约束(约束是添加在列上的,用来约束列的)

主键约束(唯一标识)
特性:
1)不能为空值
2)值唯一
3)一个表只能有一个主键,但是一个主键可以包含多个列(联合主键)
4)当表的某一列被指定为主键后,该列就不能为空,且不能有重复值出现
创建主键的两种方式:
1)CREATE TABLE stu( sid CHAR(6) PRIMARY KEY, sname VARCHAR(20), age INT(5) );
2)CREATE TABLE stu( sid CHAR(6) , sname VARCHAR(20), age INT(5), PRIMARY KEY(sid) );
3)alter table 表名 add primary key(列名);修改表时指定主键
alter table 表名 drop primary key;删除主键

外键约束
特点:
1)外键,即另一(关联)表的主键
2)外键可以重复
3)外键可以为空
4)一张表中可以有多个外键

语法:
1)创建表时指定外键约束
(1)列名 列类型 REFERENCES 关联表(关联表主键); 直接添加
(2)constraint 约束名称 foreign key (外键列名) references 关联表(关联表的主键); 子句添加
2)修改表时添加外键约束
alter table 表名 add constraint 约束名称 foreign key(外键列名) references 关联表(关联表的主键);
3)修改表时删除外键约束
alter table 表名 drop foreign key 约束名称;

主外键关系:
1)当主表中没有对应的记录是,不能将记录添加到字表
2)不能更改主表中的值而导致字表中的记录孤立
3)字表存在于主表对应的记录,不能从主表中删除改行
4)删除主表前,先删子表

非空约束(某些列不能设置为NULL值,所以可以对列添加非空约束)
1)not null 直接添加
2)alter table stu4 change name name varchar(50) not null;添加非空属性
3)alter table stu4 change name name varchar(50); 删除非空属性

唯一约束:(某些列不能设置重复的值,所以,可以对列添加唯一约束)
1)unique 直接添加
2)alter atable stu5 change name name varchar(50) unique; 添加唯一约束
3)alter table stu5 drop index name;

默认值 default
1)列名 列类型 default 默认值 直接添加
2)alter table 表名 change 列名 列名列类型; 删除默认值
3)alter table 表名 change 列名 列名 列类型 default 默认值; 添加默认值

主键自增长(通常指定主键为整型,然后设置其自动增长,这样可以保证在插入数据时主键列的唯一和非空特性)
1)
create table stu(
sid int primary key auto_increment,
sname varchar(20),
age int,
gender varchar(10)
);
创建表时指定主键自增长
2)alter table stu change sid sid int auto_increment;修改表示设置主键自增长
3)alter table stu change sid sid iny;修改表时删除自增长

SHOW DATABASES; ----显示所有数据库
USE Demo;----切换到要用的数据库下
SHOW TABLES;----显示当前选用的数据库下的表

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

乜小乜

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值