常见的数据库操作

一、查看数据库及表

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 在两个表中必须是类型相同。

相关推荐
Python私教3 小时前
model中能定义字段声明不存储到数据库吗
数据库·oracle
mqiqe6 小时前
Python MySQL通过Binlog 获取变更记录 恢复数据
开发语言·python·mysql
工业甲酰苯胺6 小时前
MySQL 主从复制之多线程复制
android·mysql·adb
BestandW1shEs6 小时前
谈谈Mysql的常见基础问题
数据库·mysql
重生之Java开发工程师6 小时前
MySQL中的CAST类型转换函数
数据库·sql·mysql
教练、我想打篮球6 小时前
66 mysql 的 表自增长锁
数据库·mysql
Ljw...6 小时前
表的操作(MySQL)
数据库·mysql·表的操作
哥谭居民00016 小时前
MySQL的权限管理机制--授权表
数据库
wqq_9922502776 小时前
ssm旅游推荐系统的设计与开发
数据库·旅游