数据库的基础概念和代码例子(增删改查和其他操作-约束)(下)

简介: 什么是数据库?答:存储数据的仓库,数据是有组织的进行存储(DataBase,简称DB)

子查询

子查询就是从表中查出初步的条件后,再用这个作为条件再进行查询

28.子查询之单行单列查询 (使用=  != > <判断)

1.先写出子查询的语句,2.再嵌套到大的查询语句里面,例子:查询比虞姬大的年龄都有哪些 ?

那就先查询出虞姬的年龄,再嵌套到查询全部人的年龄里面比较

格式为:

第一步select 对比的列名 from 表名 where 对比条件;

第二步select * from 表名 where 对比的列名 >(第一步的子查询);

select age from home where name = '虞姬';--为第二步做准备的
select * from home where age >(select age from home where name = '虞姬');--把第一步嵌套到括号里面

运行结果:

原表:

 

第一步:

最终步骤


29.子查询之多行单列查询 (使用in判断)

可以用来提取两个表中的两种列的信息,例子:查询表1中会舞剑的,在表2里面有几个

格式为:

select * from 表名2 where 表名2  in(select 根据什么提取的列名 from 表名1 where 要提取的列名 ='列中具体信息' or 要提取的列名 ='列中具体信息');

select * from home where name in (select username from mm where hobby='舞剑');

运行结果(原图参考上一题):


30.子查询之多行多列查询(作为虚拟表)

可以用来提取两个表中都符合条件的两个列信息,例子:根据id,提取出表中在1955-3-7后出生的人

格式为:

select * from (select * from 表1的表名 where 表1的列名>'列名具体条件')表1的表名 ,表2的表名 where 表1的表名.列名=表2的表名.列名;

select * from (select * from home where hire_date>'1995-3-7')home ,mm where home.id=mm.id;

运行结果 :

三、增

1.直接创建一个数据库

格式为:create database 数据库名;

create database love;

2.先判断该数据库是否存在再创建

格式为: create database if not exists 数据库名;

create database if not exists dog;

3.创建一个表,里面设置3列标题(注意,建表之前要先指定用哪一个数据库)

解析,20代表username的这个字符数不能超过20,起到限制作用,其他的同理

mysql> create table people(
    -> id int,
    -> username varchar(20),
    -> password varchar(24)
    -> );

4.表中加添一列

格式为:alter table 表名 add 列名 数据类型;

alter table bb add pig int;

5.给表中添加数据

格式为:insert into 表名(列名1,列名2,.....)values(数据值1,数据值2,.....);

insert into mm(id,username,password,hobby)
values(1,'张三','123456','踢足球');

6.给表中大批量添加数据

格式为:insert into 表名(列名1,列名2,.....)values(数据值1,数据值2,.....),(数据值1,数据值2,.....);

insert into mm(id,username,password,hobby)
values(1,'张三','123456','打篮球'),
(2,'李四','6668888','踢足球');

四、删

1.直接删除某个数据库。

格式为:drop database 要删除的数据库名;

drop database dog;

2.先判断该数据库是否存在,再执行删除。

格式为:drop database if exists 要删除的数据库名;

drop database if exists love;

3.删除表。

格式为:drop table 表名;

drop table people;

4. 先判断表是否存在再删除

格式为:drop table if exists 表名;

drop table if exists cc;

5.删除列

格式为:alter table 表名 drop 要删除的列名;

alter table bb drop dog;

6.删除表中的数据

格式为:delete from 表名 where 列名 = '列名对应条件';

delete from mm where password = '123456';

五、改

1.修改表名

格式为:alter table aa rename to 表名;

alter table aa rename to zz;

2.修改表中列的数据类型

格式为:alter table 表名 modify 列名 char(50);

alter table bb modify pig char(50);

3.修改列名和数据类型

格式为:alter table 表名 change 列名 新列名 新数据类型;

alter table bb change pig dog int;

4.修改数据内容

格式为: update 表名 set 列名 = '改后值' where 列名 = '列名对应数据';

update mm set username = '坏人' where id = '1';--判断条件设置不一样而已
update mm set username = '笨蛋' where hobby = '踢足球';---判断条件设置不一样而已

运行结果:

原:

第一次修改后:

第二次修改后:

六、其他操作

1.使用指定的数据库。

格式为:use 要使用的数据库;

use love;

七、约束

1.约束格式

需要什么约束就在什么列里面加上约束就好了

非空约束:not null

唯一约束:unique

主键约束:primary key

检查约束:check

默认约束:default

foreign key--这个是表和表之间连接使用的

格式为:创建列值 约束,

create table wz(
     id int primary key auto_increment,--非空且自增,非空是primary key 自增是auto_increment
     name varchar(20) not null,--非空
     girlfriend varchar(30) not null unique,--非空且唯一
     parent varchar(20) unique,--唯一约束
     money int default 0);--默认约束

建完表后添加非空约束

alter table 表名 modify 字段名 数据类型 not null;

删除约束

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

2.外键约束

(1)外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性

(2)外键就是让两个表之间的两个列建立绑定连接

(3)两张表之间可以有多个外键

(4)主表(别称为父表),从表(别称为子表)

注意点:

(1)主表必须有主键,从表有没有主键都可以,这样才可以创建外键连接。

(2)建表和添加数据时候都要先添加主表的,再添加从表的

建表时添加外键:

格式为:

1.先建立主表

2.在从表建表时最下面添加这个连接语句

constraint  自定义的外键名  foreign key(本表要绑定的列名) references 主表(主表要绑定的主键列名)

--主表(老大)
 create table car(
     id int primary key,
     name varchar(20)
     );
--从表(小弟)
create table BM(
     my_id int ,
     name varchar(30),
     money int,
    constraint zzzz foreign key(my_id) references car(id)
     );
---zzzz是自己定义的外键名,要删除的时候用得着

建表后添加外键:

格式为:

alter table 从表表名 add constraint  自定义的外键名称 foreign key(从表列名) references 主表表名(主表的主键列名);

alter table BM add constraint hhhh foreign key(money) references car(id);
---hhhh:自己定义的外键名称,删除时候用得着

删除外键:

格式为:

alter table 从表的表名 drop foreign key  外键名;

alter table BM drop foreign key  zzzz;
--zzzz:外键名,在创建时候就定义好了,如果不知道外键名可以在本文章中的查里面找找相关的查询语句

目录
相关文章
|
1月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
122 6
|
1月前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
50 5
Mysql(3)—数据库相关概念及工作原理
|
1月前
|
前端开发 Java 数据库连接
javamvc配置,增删改查,文件上传下载。
【10月更文挑战第4天】javamvc配置,增删改查,文件上传下载。
37 1
|
1月前
|
存储 NoSQL API
使用Py2neo进行Neo4j图数据库的增删改查操作
使用Py2neo进行Neo4j图数据库的增删改查操作
59 5
|
1月前
|
数据可视化 API PHP
低代码开发工具-学生管理系统-老师管理增删改查实现
低代码开发工具-学生管理系统-老师管理增删改查实现
31 5
|
1月前
|
关系型数据库 MySQL 数据库
MySQL数据库:基础概念、应用与最佳实践
一、引言随着互联网技术的快速发展,数据库管理系统在现代信息系统中扮演着核心角色。在众多数据库管理系统中,MySQL以其开源、稳定、可靠以及跨平台的特性受到了广泛的关注和应用。本文将详细介绍MySQL数据库的基本概念、特性、应用领域以及最佳实践,帮助读者更好地理解和应用MySQL数据库。二、MySQL
109 5
|
1月前
|
SQL 存储 安全
SQL查询数据库:基础概念与操作指南
在数字化时代,数据库已成为信息管理的重要工具之一。作为管理和操作数据库的核心语言,SQL(结构化查询语言)已成为数据管理和查询的关键技能。本文将全面介绍SQL查询数据库的基本概念、语句和操作指南,以帮助初学者快速上手,同时为进阶用户提供有价值的参考。一、数据库与SQL简介数据库是一种存储、管理和检索
40 3
|
1月前
|
SQL 关系型数据库 MySQL
创建SQL数据库的基本步骤与代码指南
在信息时代,数据管理显得尤为重要,其中数据库系统已成为信息技术架构的关键部分。而当我们谈论数据库系统时,SQL(结构化查询语言)无疑是其中最核心的工具之一。本文将详细介绍如何使用SQL创建数据库,包括编写相应的代码和必要的步骤。由于篇幅限制,本文可能无法达到您要求的2000字长度,但会尽量涵盖创建数
43 3
|
1月前
|
安全 算法 Java
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
本文提供了在数据库中对密码等敏感信息进行加盐加密的详细教程,包括手写MD5加密算法和使用Spring Security的BCryptPasswordEncoder进行加密,并强调了使用BCryptPasswordEncoder时需要注意的Spring Security配置问题。
126 0
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
|
2月前
|
SQL 关系型数据库 MySQL
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
课程分类查询、课程新增、统一异常处理、统一封装结果类、JSR303校验、修改课程、查询课程计划、新增/修改课程计划
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验