Python高级编程day15数据库基本使用

本文介绍了数据库中的基本数据类型,包括整数、小数、字符串和日期时间等,强调了数据约束和主键的重要性。文章详细展示了SQL语句用于创建、操作和管理数据库,如创建表、添加字段、删除字段以及执行各种查询操作。
摘要由CSDN通过智能技术生成

———————————————————————————————————————————

数据库中的数据它也是分数据类型

具体作出如下划分:[常用的数据类型]

整数:intbit

小数:decimal

字符串:varcharchar

日期时间:datetimedatetime

枚举类型:enmu

数据类型说明:

decimal表示浮点数,如decimal(5,2)表示共存5位数,小数占2位。

char表示固定长度的字符串,如char(3),如果填充'ab'时会补一个空格为'ab[ ]',3表示字符数。

(为了表示空格所以用了"[ ]"符号)。

varchar表示可变长的字符串,如varchar(3),填充'ab'时就会存储'ab',3表示字符数。

对于图片、音频、视频等文件,不会存储在数据库中。

而是上传到某个服务器上,然后表示存储在这个文件的保存路径。

字符串text表示存储文本,当字符串大于4000时推荐使用,比如技术博客。

---------------------------------------------------------------------------------------------------------------------------------

数据约束

字符串里面必须规定一个主键,如果说没有规定主键,那么就可能会报错,甚至会无法保存数据。

———————————————————————————————————————————

———————————————————————————————————————————

 

 

 

———————————————————————————————————————————

接下来就是数据库的基本操作了:

创建数据库:create database 数据库名;   (SQL语句末尾的分号必须是英文的)

效果如下:

新数据库zmy就创建好了。

如何使用呢?

SQL语句:use 数据库名;

那么,现在我们在数据库中新建表格,插入字段名id,设置为int类型,无符号范围。

SQL语句如下:

效果如下:

表格student已经建好了。之后点开student表格: 

 

字段名 id也创建好了。

查看当前使用的数据库:select database( );

删除数据库:drop database 数据库名;  [慎用,因为这个命令会将要删除的数据库连同里面包含的数据一同删除]

数据库zmy已被删除…

查看数据库的表

我们继续操作:

结果:

鼠标右键点击student表,点击设计表。

接着就可以设计表格的具体数据内容了。

查看表结构:desc

添加字段:birthday

SQL语句:ALTER TABLE students ADD birthday datatime;

效果:

 

验证查看:DESC students;

修改字段名的数据约束:alter table students modify birthday not null;

 

修改字段名:alter table student change birthday birth datetime not null;

删除表内的字段名:ALTER TABLE students DROP birth;

再去查看字段表里面的数据,我们看到birth字段被删除了。

另外,我们也可以去查看创建表的SQL语句。

show create table students;

CREATE TABLE `students` (

  `id` int unsigned NOT NULL,

  `name` varchar(20) NOT NULL,

  `age` tinyint unsigned DEFAULT '0',

  `height` decimal(5,2) DEFAULT NULL,

  `gender` enum('男','女') DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

(因为Navicat显示的结果不全,所以复制粘贴到这里)

当然还有查看创建数据库的SQL语句。

show create database test;

CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */ /*!80016 DEFAULT ENCRYPTION='N' */

删除表;

drop table students;(注意:students是表名)

刷新表之后:students表被删除了。

查询数据库里面的数据。

select*from student;

这里面是提前写好的数据。

我们再向student表中插入数据。

再去查询student表。

这就是我们新插入的数据了,这种数据插入方式叫做全列插入

还有指定列插入:

我们规定了插入的数据值,那么没有规定插入的数据则默认为NULL。

---------------------------------------------------------------------------------------------------

修改字段信息的SQL语句。

这里做出对student表中id为10的小明的修改。

再去查询student表:

对比发现小明age由15改为了18

—————————————————————————————————————————————————

删除数据:

再来查看student表。——>

看,id=11的李明被删除了。

但是,这种删除的方法是无法恢复的,所以请慎用。

—————————————————————————————————————————————————

查询编号大于3的学生。

SELECT*FROM student WHERE id>3;

查询编号不大于4的学生。

SELECT*FROM student WHERE id<4;

查询姓名不是黄蓉的学生。

SELECT*FROM student WHERE `name`!='黄蓉';

查询没被删除的学生。

SELECT*FROM student where isdelete = 0;

查询编号大于3的女同学。

SELECT*FROM student WHERE id>3 AND sex = '';(性别字段也可以设置为gender

查询编号小于4或没被删除的同学。

SELECT*FROM student WHERE id<4 OR isdelete = 0;

查询年龄不在10岁到15岁之间的学生。

SELECT*FROM student WHERE (age>=10 AND age<=15);

查询姓黄的学生。

SELECT*FROM student WHERE `name`LIKE '黄%';

查询姓黄并且名是一个字的学生。

SELECT*FROM student WHERE `name`LIKE '黄_';

查询姓黄或者叫靖的同学

SELECT*FROM student WHERE `name`LIKE '黄%' OR `name` LIKE '%靖';

查询编号3至8的学生。

SELECT*FROM student WHERE id BETWEEN 3 AND 8;

查询编号不是3至8的男生。

SELECT*FROM student WHERE ( NOT id BETWEEN 3 AND 8) AND sex = '男';

查询编号是3,5,7的学生。

SELECT*FROM student WHERE id IN (3,5,7);

查询编号不是3,5,7的学生。

SELECT*FROM student WHERE (NOT id IN (3,5,7));

———————————————————————————————————————————

查询未删除的男生信息,按学号降序排序。

SELECT*FROM student WHERE isdelete = 0 and sex = '男' ORDER BY id DESC;

显示所有学生信息,先按照年龄从大到小排序,当年龄相同时,按身高从高到矮排序。

SELECT*FROM student ORDER BY age DESC,height DESC;

 

 

 

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中国第一深情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值