数据库和数据表的基本操作

 

目录

 

1.建立、删除、查看数据库

创建数据库

查看所有数据库

删除数据库

选择数据库,使其成为当前默认的数据库

 2.设计数据库

整数类型

浮点数类型

定点数类型 

日期时间类型

字符串类型

enum 和 set 类型

常见数据类型

设计数据表的主键(又称主码,是表中一列或者多列的组合)

 3.操作数据表

创建数据表

查看数据表

查看数据表的基本结构

显示数据表对应的create语句

查看数据库的所有数据表

 修改数据表

修改表名

修改字段

 修改字段的名称

添加新的字段 

删除字段

删除表的外键约束

插入数据

删除条件

更新数据

 4.参照完整性

外键/外关键字

指定外键

外键约束

添加参照完整性

删除参照完整性


1.建立、删除、查看数据库

创建数据库

create database database_name;

查看所有数据库

show databases;

删除数据库

drop database database_name;

选择数据库,使其成为当前默认的数据库

use database_name;

 2.设计数据库

数据表包括哪些字段:字段的名称、数据类型、字段宽度等

整数类型

字段类型存储量说明
tinyint1个字节很小的整数
smallint2个字节小的
mediumint3个字节中等大小的
int4个字节普通大小的
integer4个字节普通大小的
bigint8个字节大整数

浮点数类型

字段类型存储量说明
float4个字节单精度浮点数
double8个字节双精度浮点数

定点数类型 

字段类型存储量说明
decimal(m,d)m+2字节定点数

日期时间类型

 

Mysql允许不严格的语法,当使用字符值作为日期时间,任何标点符 号可以做为日期和时间部分的分隔符

字符串类型

 

enum 和 set 类型

enum('value1','value2',……)
set('value1','value2',……)

 

ENUM SET 对象是枚举类型,其列值必须从固定的串集中选择。
二者差别为ENUM必须是只能选择其中的一个值,SET可以多选SET 对象。
ENUM 大小由不同枚举值的数量决定。长度为1 个字节时,最多可以有 255 个值;2个字节时,最多可以有 65535 个值。
SET 的大小由(彼此不同的)集合成员数量决定,如果集合大小是N ,对象可占据 (N 7)/8 ,一个SET 对象最多能有 64 个成员。

常见数据类型

 

 

 

非空约束 Not Null

指字段的值不能为Null 值。对于使用了非空约束的字段如果用户在添加数据时,指定Null值,数据库系统会报错.

Null 不是空值。如果在字段中没有输入数据,会自动赋值为空值。但是如果插入Null 值,系统会报错。
auto_increment
需要自动递增生成内部编号的字段使用数值型。在每次插入新记录时,系统就会自动生成字段的值。该值为数据表中所有记录的该字段的最大值加1。一个表只能有一个字段使用,且该字段必须为主键的一部分。

 

设计数据表的主键(又称主码,是表中一列或者多列的组合)

单字段主键

<字段名>  <数据类型> primary key <默认值>

多字段联合主键

primary key [字段1,字段2,……]

 3.操作数据表

创建数据表

create table <表名>
    (列表1 数据类型 字段属性,
     列表2 数据类型 字段属性,
     ……
     列表n 数据类型 字段属性,
    );

 举个例子

create table if not exists course
(courseid varchar(4) primary key,
 coursename char,
 credit tinyint(3) unsigned,
 required tintint(1) default '1',
 period tinyint unsigned,
 department varchar(20),
 primary key('courseid')
);

demical 型

demical(4,1) 表示长度4小数位数1

查看数据表

查看数据表的基本结构

describe 表名;

显示数据表对应的create语句

show create table 表名;

查看数据库的所有数据表

show tables;

 修改数据表

修改表名

alter table <旧表名> rename to <新表名>;

修改字段

alter table <表名> modify <字段名> <数据类型>;

 修改字段的名称

alter table <表名> change <旧字段名> <新字段名> <数据类型>;

添加新的字段 

alter table <表名> add <新字段名> <数据类型> <约束条件> first/after <已存在字段名>;

删除字段

alter table <表名> drop <字段名>;

删除表的外键约束

alter table <表名> drop foreign key <外键约束名>;

插入数据

inset into <表名> 
values('表达式1','表达式2',……);

向指定的数据表插入一条记录,并用指定的表达式对所 有字段赋值。VALUES短语中各个表达式应该与数据表结构的字段顺序一一对应。​​​​​​​

inset into <表名> (字段1,字段2,……)
values ('表达式11','表达式12',……),
       ('表达式21','表达式22',……)
       ……;

向指定的数据表插入一条记录,并用指定的表达式对字段赋值。字段的顺序可以不与数据表的字段顺序一致。但字段和表达式应该一一对应。对于没有赋值的字段,如果设置了默认值将被赋值为默认值。

删除条件

delete from <表名> where <条件>;

where<条件>用来指定删除的条件。当默认时,将删除数据表的所有记录。

更新数据

update <表名> set <字段1>=<表达式1>,
                  <字段1>=<表达式2>,
                  ……
where <条件>;

 4.参照完整性

是指两个相关联的表中相关数据是否一致

外键/外关键字

指定外键

constraint <外键名> foreign key <字段名> references <主表名> <主键列>;

外键约束

Delete

在删除主表数据的时候,子表的数据将同时被删除(cascade)

子表中存在数据时,主表的数据将无法删除(Restrict)

删除主表数据 的时候,子表的数据被设置为 null值 (set null)
(该列可以设置为null 值的情况下 )
update
在修改主表数据的时候,子表的数据将 同时 被修改 (cascade)
​​​​​​​
子表中存在数据时, 主表 的数据将 无法修 (restrict)
修改主表数据 的时候,子表的数据被设置为 null值 (set null)
( 该列可以设置为 null 值的情况下 )

 

create tabel <数据表>
(字段
 constraint <外健名> 
 foreign key <字段名> refereces <主表名> <主表列>
 on delete restrict/cascade/set null
 on update delete restrict/cascade/set null
);

添加参照完整性

如果创建数据表的时候没有设置参照完整性修改数据表来添加完整性。
alter table <数据表名>
add constraint <外键名>
foreign key (字段名) references <主表名> <主表列>
on update restrict/casdate/set null
on delete restrict/casdate/set null;

删除参照完整性

alter table <数据表> drop constraint <索引>;

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值