Data Definition Language

数据定义语言
库和表的管理操作,在sqlyog中称为数据库和表格

  • 库的管理
    创建、修改、删除
  • 表的管理
    创建、修改、删除

1.库的管理

1.1 创建

语法:

create database 库名

建了之后不能重复建

create database if not exist 库名
#若存在就不创建

1.2 修改

  • 改名字:

rename:安全指数低,造成数据不稳定
直接去windows改名字

  • 改字符集
alter database books character set gbk
alter database books character set utf8

1.3 删除

drop database 库名
drop database if exist 库名

2.表的管理

2.1 表的创建

语法

create table 表名(
    列名 列类型(长度) 约束条件, #约束条件可省略
    列名 列类型 约束条件,
    列名 列类型 约束条件,
    列名 列类型 约束条件,
    ...
    列名 列类型 约束条件
)

举例

#创建books库
create database books
#创建book表
create table book(
    id int,
    bname varchar(20),#书名的最大长度20
    price double,
    authorID int,
    pubDate datetime
)
#创建author表
create table author(
    id int,
    auname varchar(20),#书名的最大长度20
    nation VARCHAR(20)
)
  • 学会数据库逻辑,能减少冗余就减少冗余(尽量引用别的库)
  • 可以加入if not exist,严谨

2.2 表的修改

列名

alter table 表名 change column 原名 更名
alter table 表名 change column 原名 更名 修改类型
#column可以省略

类型

ALTER TABLE book MODIFY COLUMN pubDate TIMESTAMP
#格式修改为时间戳

添加列

alter table 表名 add column 列名 类型
alter table author add column annual double

删除列

alter table 表名 drop column 列名 类型
alter table author drop column annual double

表名

alter table 表名 rename to 新名字

2.3 表的删除

drop table if exist 表名

可以用show table检查是否删除~
实际运用中,不知道到底有没有这个表(太多了),

建议:

#1 删
drop database if exist 旧的库名字
#2 加
create database 新库名
#表名同理,先删后加,避免白干

2.4 表的复制

复制结构

create table 复制名 like 原表名

复制结构与内容(实际子查询)

create table 复制名
select * from 表名

可以通过筛选语句,复制部分内容(行、列)

create table 复制名
select 列1,列3
from 表名
where 条件

部分结构?
(思路:全部不满足,筛选出去)

create table 复制名
select 列2,列4
from 表名
where 100=101 #永远不成立

3.约束条件

限制表的数据,保证数据的一致性
(可多约束共存)

  • 非空约束 not null 字段值不得为空
  • 默认约束 default 确保字段具有默认值
  • 主键约束 primary key 保证唯一性与代表性,非空
  • 唯一约束 unique 保证唯一性,可空
  • 外键约束 foreign key 限制两表关系,该字段值必须来自主表的关联列值(不支持列级约束)
    • 需要外表主键或者是唯一键(key)
    • 需要类型一致或兼容
    • 插入此类数据,先主表后从表
    • 删除数据,先从表后主表
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇