python数据库-MySQL数据库的增删改查基本操作(49)
一、数据库基础
- 表 table:数据是保存在表内,保存在一个表内的数据,应该具有相同的数据格式
- 行:行用于记录数据
- 记录:行内的数据
- 列:列用于规定数据格式
- 字段:数据的某个列
- 主键:唯一地标识表中的某一条记录,不能空,不能重复
二、数据库的数据类型
1、数字类型
整数: tinyint、smallint、mediumint、int、bigint
浮点数: float、double、real、decimal
日期和时间: date、time、datetime、timestamp、year
2、字符串类型
字符串: char、varchar
文本: tinytext、text、mediumtext、longtext
3、二进制
(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob
4、列的约束:
三、数据库连接
在关于数据库的第一篇文章中就给大家讲了使用Navicat连接数据库的方法,那么这里再给大家讲解一下使用命令连接数据库的方式。
一般在公司开发中,可能会将数据库统一搭建在一台服务器上,所有开发人员共用一个数据库,而不是在自己的电脑中配置一个数据库,远程连接命令
- mysql -h ip地址 -u root -p
- -h后面写要连接的主机ip地址
- -u后面写连接的用户名
- -p回车后写密码
四、数据库操作
1、创建数据库
- create database 数据库名 charset=utf8;
2、删除数据库
- drop database 数据库名;
3、切换数据库
- use 数据库名;
4、查看当前选择的数据库
- select database();
5、查看目前所有的数据库
- show databases;
五、表操作
1、查看当前数据库中所有表
- show tables;
2、创建表
- create table 表名(列及类型);
- 列名:id
- 类型:int unsigned
- 约束1:not null
- 约束2:primary key
- 约束3:auto_increment
列的格式:列的名称 类型 约束
例如:
- create table hero(h_id int auto_increment primary key,h_name varchar() not null);
3、修改表
语法:
- alter table 表名 add(添加)|modify(修改)|drop(删除) 列名 类型;
添加列:h_skill 为字符类型
- alter table hero add h_skill varchar();
修改列:h_skill修改本属性不能为空
- alter table hero modify h_skill varchar() not null;
4、删除表
- drop table 表名;
5、查看表结构
- desc 表名;
例如:
- mysql> desc hero;
- +---------+-------------+------+-----+---------+----------------+
- | Field | Type | Null | Key | Default | Extra |
- +---------+-------------+------+-----+---------+----------------+
- | h_id | int() | NO | PRI | NULL | auto_increment |
- | h_name | varchar() | NO | | NULL | |
- | h_skill | varchar() | NO | | NULL | |
- +---------+-------------+------+-----+---------+----------------+
- rows in set (0.00 sec)
6、更改表名称
- rename table 原表名 to 新表名;
7、查看边的创建语句
- show create table 表名
例如:
- mysql> show create table hero;
- +-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | Table | Create Table |
- +-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | hero | CREATE TABLE `hero` (
- `h_id` int() NOT NULL AUTO_INCREMENT,
- `h_name` varchar() NOT NULL,
- `h_skill` varchar() NOT NULL,
- PRIMARY KEY (`h_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
- +-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- row in set (0.00 sec)
六、数据操作
1、增加数据
- insert into 表名(列1,...) values(值1,...);
例如:
- insert into hero(h_id,h_name,h_skill) values(,'韩信','裂天爆斩');
主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后以实际数据为准
2、简单查询数据
- select * from 表名
例如:
- mysql> select * from hero;
- +------+--------+--------------+
- | h_id | h_name | h_skill |
- +------+--------+--------------+
- | | 韩信 | 裂天爆斩 |
- +------+--------+--------------+
- row in set (0.00 sec)
3、修改数据
update 表名 set 列1=值1,... where 条件
例如:
- update hero set h_skill='真裂天爆斩' where h_id=;
- mysql> select * from hero;
- +------+--------+-----------------+
- | h_id | h_name | h_skill |
- +------+--------+-----------------+
- | | 韩信 | 真裂天爆斩 |
- +------+--------+-----------------+
- row in set (0.00 sec)
4、物理删除数据
- delete from 表名 where 条件
例如:
- mysql> delete from hero where h_id=;
- Query OK, row affected (0.01 sec)
- mysql> select * from hero;
- Empty set (0.00 sec)
5、逻辑删除,
本质就是修改操作update ,并没有删除,只有用isdelete去和其他没有删除的数据区别,所以叫做逻辑删除,方便回复误删数据
- alter table hero add isdelete bit default ;
- 在需要做逻辑删除的时候写上
- update hero set isdelete= where h_id=;
python数据库-MySQL数据库的增删改查基本操作(49)的更多相关文章
- 关系型数据库MySQL(一)_增删改查
1.创建表单 create table product (product_id char(4) not null, product_name varchar(100) not null, sa ...
- PHP学习之[第08讲]数据库MySQL基础之增删改查
一.工具: 1.phpMyAdmin (http://www.phpmyadmin.net/) 2.Navicat (http://www.navicat.com/) 3.MySQL GUI Tool ...
- Python之MySQL语法(增删改查)
-- ID: 新闻的唯一标示 -- title: 新闻的标题 -- content: 新闻的内容 -- created_at: 新闻添加的时间 -- types: 新闻的类型 -- image: 新的 ...
- MySQL数据库之表的增删改查
目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ...
- 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理
一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...
- MySQL数据库 | 数据表的增删改查
MySQL数据的增删改查(crud) 本文结构 一.增加 create 二.修改 update 三.查询 retrieve(简单查询,下篇详细展开) 四.删除 delete 首先,创建简单的class ...
- sqlite数据库操作详细介绍 增删改查,游标
sqlite数据库操作详细介绍 增删改查,游标 本文来源于www.ifyao.com禁止转载!www.ifyao.com Source code package com.example ...
- Delphi - cxGrid连接Oracle数据库 实现数据的增删改查
cxGrid连接Oracle数据库 实现数据的增删改查 cxGrid连接Oracle数据库 1:通过OraSession连接数据库.OraDataSet实现OraSession和OraDataSour ...
- python学习之-成员信息增删改查
python学习之-成员信息增删改查 主要实现了成员信息的增加,修改,查询,和删除功能,写着玩玩,在写的过程中,遇到的问题,旧新成员信息数据的合并,手机号和邮箱的验证,#!/usr/bin/env p ...
随机推荐
- MCB2300的CTM1050(CAN) - 系列示意图
这一系列示意图由Portel DXP 2004绘. 截图: 文件下载: CTM1050.7z 版权声明:本文博客原创文章,博客,未经同意,不得转载.
- WPF 中动态创建和删除控件
原文:WPF 中动态创建和删除控件 动态创建控件 1.容器控件.RegisterName("Name",要注册的控件) //注册控件 2.容器控件.FindName(" ...
- Hibernate入门配置案例
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自 ...
- Win10 如何以管理员身份设置开机自启程序(1)
原文:Win10 如何以管理员身份设置开机自启程序(1) 最近一个项目在win10上部署时遇到问题,即如何设置以管理员身份开机自启.现把解决方法整理如下: 首先,为了进行验证,我编了一个简单的程序te ...
- Delphi 10.2可以开发Linux桌面应用了
原始地址 https://community.embarcadero.com/blogs/entry/firemonkey-on-linux Delphi Linux编译器已经发布,现在无需等待 ...
- Gradle编译失败 generating the main dex list
编译打包的时候出现这个错误,信息很少. * What went wrong: Execution failed for task ':camCard_Asia_Trunk:transformClass ...
- erp的核心代码,替代orm
public static SqlParameter[] get_array_list<T>(ArrayList rows) where T : class { Hashtable sql ...
- codewars杂记: 寻找缺失的数
题目描述: 给出一个整数列表,找出该列表无法通过各种组合求和得到的最小的整数. 示例: solve([1,2,8,7]) = 4, because we can get 1, 2, 1+2=3. Bu ...
- 零元学Expression Blend 4 - Chapter 46 三分钟快速充电-设定Margin的小撇步
原文:零元学Expression Blend 4 - Chapter 46 三分钟快速充电-设定Margin的小撇步 如果需要经常的使用某一项工具,总会希望能够更快速的使用各项设定达到效果 今天要介绍 ...
- =WM_VSCROLL(消息反射) 和 WM_VSCROLL(消息响应)的区别(控件拥有者自己不处这个理消息,而是反射给控件对象本身来处理这个消息)
=WM_VSCROLL(消息反射) 和 WM_VSCROLL(消息响应)的区别 所谓消息反射就是控件拥有者自己不处这个理消息,而是反射给控件对象本身来处理这个消息 1.“=WM_VSCROLL”是消息 ...