mysql数据库python基础知识_数据库mysql基础(python)

第三范式(3NF):引用主键 (一般第二范式中的唯一标识就叫主键)

说明:后一个范式,都是在前一个范式的基础上建立的

数据完整性

一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中

在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型、约束

字段类型

在mysql中包含的数据类型很多,这里主要列出来常用的几种

数字:int,decimal:小数如decimal(5,2)一共包含有5位数,小数占两位

字符串:char:固定长度,varchar:不固定,可变,text:很多字符串,一个文本         如char(8):如果不够8个字符,会自动在右边补空格;varchar(8):就算不够8个字符,也不会自动补,超过8个,就直接截断了或者报错

日期:datetime

布尔:bit:后边什么都不写就默认存一个位,bit(8):存8个二进制的位

约束

主键primary key   作用:1不会重复,唯一标识 2根据主键找数据速度快

非空not null

惟一unique:这个值不能重复,和主键的不同是唯一标识可以建多个

默认default

外键foreign key

使用图形窗口连接(windows上用navicat远程连接)

点击左上角连接,,连接名Mysql57,密码自己设的,应该是开机密码,连不上的话可能是mysql没有启动,(解决:右击计算机选管理,双击服务和应用程序,双击服务,找到mysql启动即可)鼠标右键新建数据库,数据库名字随便起,字符集合选utf8,排序规则选通用general即可(在数据库上右击,选择“删除数据库”可以完成删除操作)。

表操作

选中自己的数据库,新建表(一个表就是一个实体):

点击“新建表”,弹出窗口,按提示填写信息

主键的名称一般为id,设置为int型,无符号数,自动增长(表示由mysql系统负责维护这个字段的值,不需要手动维护,所以不用关心这个字段的具体值),非空

8df7e9d29552697c94455e1423225aba.png 

670c2ba3438ed9c9e7b20a13bcf4851f.png

点击“添加栏位”,(栏位名尽量用英文)可以添加一个新的字段(新的属性)

字符串varchar类型需要设置长度,即最多包含多少个字符

40155ed1e61cd22bb67a685cbf06997a.png

点击“保存”,为表定义名称(如students)

修改这个表:右键这个表名选设计表,尽量不要增加或删除表的栏位,这样的话就把表的结构改了,所以设计表时可以预留(多设)5个栏位左右

向表中添加数据:表创建完了就可以添加数据了:5493a65fedfb1b91ccf3c775eac751c9.png打√确认你添加的这条数据

1209ebc7ca876bb7edbedee07e46254e.png点+号,再添加一条数据,删除:选中要删的一行数据,delete(或右击选删除记录)这样删这条数据就真的没了,所以要用逻辑删除即在表中添加一个isDelete栏位,默认值为0,表示不删除

52cdabefce7a144182ab76007b87e003.png想删哪条数据isDelete写1即可

d88fe3f171005840a18336843bc1b485.png

,将来找数据时只显示isDelete为0的数据就好啦

命令脚本操作(无需远程,直接在Ubantu里连接即可)

ubantu16.04安装mysql步骤:https://blog.csdn.net/weixin_42209572/article/details/98983741

其他平台上安装客户端,让ubantu中的msql允许远程连接即可

1.打开终端输入命令:mysql -uroot -p (连接数据库服务器)回车后输入密码,当前设置的密码为mysql

aeb08642dc300918b1b31de247378363.png想看更多命令

42f323a9bcca1f44a0ea7ccb957e9700.png

登录成功后,输入如下命令查看效果查看版本:select version();显示当前时间:select now();注意:在语句结尾要使用分号;

2.退出:quit或exit

3.创建数据库:

先连接上

9c6357353fab398fb9368739c6c5e0dd.png,显示当前所有的数据库:

d90b560a882956ec43d6f15101bccef0.png查看当前用的是哪个数据库:select database();

删掉名字叫做python3的数据库:

3f80e108d42d0133d87ed7dc0eb7151c.png 创建一个新的数据库(名字叫python3,指定字符集charset=utf8):

948698eb0f13640b961bd77495161287.png 使用名叫python3的数据库: 

9bf3e67b6eceda8b7da446dba14ea85b.png(这条命令就是切到了python3这个数据库了),看一下这个数据库里有哪些表:

d1598e0ed4ef0506d8647baaf18c03eb.png

创建表(比如在python3这个数据库里创建一个名叫students的表):

create table 表名(列及类型);(注:最后要以分号结尾)

b36530aba77dda667136a57d635d6028.png注意:这里有个错误,default 1,没有括号

分析:id int auto_increment primary key not null,第一个栏位,名字叫id,int类型,设置为auto_increment自动增长,设置成主键 ,非空

查看表:

d5e31a8af4475f6d45f5d44a95873479.png

修改表(表已经有数据的情况下不建议修改,可能会报错):增加栏位..

1a2ec0e0ac83531465785b994b238e9f.png在students这个表中增加一个栏位:名叫isDelete。bit类型,默认值为0

删除表:drop table 表名;更改表名称:rename table 原表名 to 新表名;

查看students这张表的数据:

8edaae154d495907ab22f7bc3aa1fadd.png

往表中添加数据:

全列插入:insert into 表名 values(...)要和表的顺序一致:

4201e9c2a62d9f7dd79a3c93edb05497.png

(id是自动生成的这里写个0表示以下,然后写名字,性别,出生日期,是否逻辑删除这条数据)

缺省插入:insert into 表名(列1,...) values(值1,...)只需要和括号里指定的字段对应即可

d3d00595e0240e2007cd72281dbc6f15.png再如

b3ad7c3c96c2e60e72b100d36920c43a.png

同时插入多条数据:insert into 表名 values(...),(...)...;或insert into 表名(列1,...) values(值1,...),(值1,...)...;

a86d3b9107970c005d2ba07007ab71d2.png

修改数据:update 表名 set 列1=值1,... where 条件,对满足where条件的数据进行更改

cca34bcb9bc98a6231da6f0d699529d0.png(修改id=2的出生日期)

也可以改多个字段:

e0f54d33aa5349d9176e50d3d636bc33.png注:不写where就是所有行都要改

物理删除:delete from 表名 where 条件

34c186157b9d65b785ac0eb3142334e1.png逻辑删除

a2231b9825679d28f38832543b47fdd7.png

4.数据库备份和恢复:

备份:先退出mysql.   sudo -s:进入超级管理员cd /var/lib/mysql:进入mysql库目录mysqldump –uroot –p 数据库名 > ~/Desktop/备份文件.sql; (运行mysqldump命令)

8208091244d016c2cc5c678d82c4d296.png

e193f6bf82f15dedfd2c190891d54a7c.png

恢复:连接mysql,创建数据库

141dad58b8900bc55b9dd43014b53b50.png

接着退出连接,执行mysql -uroot –p 数据库名 < ~/Desktop/备份文件.sql

c64f64d24959f9adb8aead9a21b176eb.png,这样新建的数据库py31中的内容就和数据库python3中的一样了

数据库mysql基础(python)

标签:插入   进制   mamicode   art   保存   速度   第三范式   nav   多命令

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:https://www.cnblogs.com/fenglivoong/p/12899904.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值