常见的数据库操作

一、查看数据库及表

1.查看当前 DMBS 中有哪些数据库

show databases; (首先进入数据库)

2.查看当前数据库中有哪些表 show tables;

3.查看表的结构(信息)

describe 表名;如:describe orders;

二、创建删除数据库

1.创建数据库

create database 数据库名; create database test;

2.删除数据库

drop database 数据库名; drop database db;

3.使用数据库

use 数据库名; use test;

三、表的创建与删除

1.创建表

create table 表名

(

列名 1 数据类型 是否可以为空 是否自增长,

biao1 xuhao int(10) not null auto_increment

列名 2 数据类型 是否可以为空 是否自增长,.

primary key(主键列名)

)engine=引擎名;

注:

(1)数据类型

字符串数据类型:char、varchar (长字符)

数值数据类型:int、boolean、decimal

时间和日期数据类型:date、datetime

二进制数据类型

(2)如何查看当前 DBMS 支持的所有数据库引擎 show engines

创建三个表

要求: mqr1 (人员信息表):h_id(人员 ID),h_name(人员姓名),h_tel(人员电话)

r_info(关联关系表):r_id(关联 ID),h_id(人员 ID), xuhao (狗的 ID)

mqr (狗的信息表): xuhao (狗的 ID),d_age(狗的年龄),d_type(狗的类型)创建 mqr1

create table mqr1 (

-> h_id int not null auto_increment, -> h_name char(10) not null,

-> h_tel int(11) not null,

-> primary key(h_id) -> )engine=InnoDB;

创建 r_info

create table r_info (

-> r_id int not null auto_increment, -> h_id int not null,

-> xuhao int not null, -> primary key(r_id) -> )engine=InnoDB;

创建 mqr

create table mqr (

-> xuhao int not null auto_increment,

-> d_age int,

-> d_type char(20),

-> primary key ( xuhao )

-> )engine=InnoDB;

2.修改表中的列(字段)

(1)向表中新增一个字段

alter table 表名 add 列名 列的属性;

alter table mqr add xingbie char(5);

(2)从表中删除一个字段

alter table 表名 drop column 列名;

alter table mqr drop column xingbie ;

(3)更改表中某列的数据类型:

alter table 表名 modify 列名 新的列的类型

alter table mqr modify xingbie char(20);

同时更改列名及数据类型:

alter table 表名 change column 旧列名 新列名 新的列类型

alter table mqr change column dianhua shouji char(5);

3.重命名表

rename table 旧表名 to 新表名;

rename table mqr to mqr1;

4.删除表

drop table 表名; drop table orders;

四、表中数据的操作

1.向表内插入数据

(1)直接插入数据

insert into 表名 values ('值 1','值 2',...);

insert into mqr1 values ('1','zwb','137');

(2)指定字段插入( 测试一下自增长列 )

insert into 表名(列名 1,列名 2...) values ('值 1','值 2'...);

insert into mqr1 ( xingming , xingbei ) values ('yyy','138');

(3)插入多条记录

insert into 表名( 列名 1,列名 2...) values ('值 1','值 2'...),('值 1','值 2'...); (列名是必须加的)

insert into mqr ( xuhao,xingming,xingbie ) values ('1','2','zangao'),('2','1','tairitian'),('3','3','erha');

(4)插入查询的结果

insert into 表名(列名 1,列名 2...) select * from 表名;

(5) 创建一个用于保存查询结果的表 create table mqr _bak (

-> xuhao int(11), -> d_age int(11), -> d_type char(20) -> );

向 mqr _bak 中插入其他表的查询结果 insert into mqr _bak select * from mqr ;

2.更新表中数据

update 表名 set 列名='新值' where 主键列名='值 1';

update mqr 1 set xingming =' mmm ' where xuhao ='3';

3.删除表中数据

delete from 表名 where 列名='值';

delete from mqr 1 where xuhao ='3';

注:删除表中的所有记录:delete from 表名;

select * from mqr ;

快速清空整个表:truncate 表名; ( 速度快 )

truncate mqr1 ;

注:区别:truncate 比 delete 执行的速度快,占用资源少

五 、为关系表增加外键 ( 其他表的主键在本表内,用来表明本表与其他表的关联关系 )

  1. sql 语句格式:

alter table 表 1 add constraint 约束名 foreign key( 键 表 1外键列名 ) references 表 2(列名);

alter table r_info add constraint fk_r_info_ mqr1 foreign key(h_id) references mqr1 (h_id);

alter table r_info add constraint fk_r_info_ mqr 1 foreign key( xuhao ) references mqr ( xuhao );

表1是想要增加外键的表, 要增加的外键 文件类型和是否允许为空,在两个表中必须要是一致的。如图xh 在两个表中必须是类型相同。

相关推荐
kaixin_learn_qt_ing9 小时前
qgeoview-samples-basic
数据库
Omics Pro10 小时前
微软:多模态生物世界模型
数据库·人工智能·算法·microsoft·机器学习·自然语言处理
字节渡客10 小时前
接口明明返回成功,数据库偶尔就是没写入
数据库
Ivanqhz10 小时前
KV Cache
服务器·数据库·人工智能·深度学习·算法
Omics Pro10 小时前
~30,000+引用!理论2005,R包2008,多组学集成AI增强
开发语言·数据库·人工智能·算法·机器学习·自然语言处理·r语言
呆萌很11 小时前
数据库逻辑结构设计
数据库
howdoyoudo20260611 小时前
当新案例冲击旧框架:分类系统的宿命与修正路径
大数据·网络·数据库·人工智能·安全·ai·分类
自己的九又四分之三站台11 小时前
GeoPackage 到底适合什么场景:从 SQLite 容器到空间数据格式选型
数据库·oracle·sqlite
东方护航数据恢复(深圳)11 小时前
勒索病毒加密数据库怎么办?深圳 0 赎金解密恢复实录【东方护航数据恢复深圳店】
数据库·数据恢复·服务器数据恢复·勒索病毒·数据镜像
倔强的石头_11 小时前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
数据库