一、数据库基础

    • 表 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)的更多相关文章

  1. 关系型数据库MySQL(一)_增删改查

    1.创建表单 create table product (product_id  char(4)  not null, product_name  varchar(100)  not null, sa ...

  2. PHP学习之[第08讲]数据库MySQL基础之增删改查

    一.工具: 1.phpMyAdmin (http://www.phpmyadmin.net/) 2.Navicat (http://www.navicat.com/) 3.MySQL GUI Tool ...

  3. Python之MySQL语法(增删改查)

    -- ID: 新闻的唯一标示 -- title: 新闻的标题 -- content: 新闻的内容 -- created_at: 新闻添加的时间 -- types: 新闻的类型 -- image: 新的 ...

  4. MySQL数据库之表的增删改查

    目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ...

  5. 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理

    一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...

  6. MySQL数据库 | 数据表的增删改查

    MySQL数据的增删改查(crud) 本文结构 一.增加 create 二.修改 update 三.查询 retrieve(简单查询,下篇详细展开) 四.删除 delete 首先,创建简单的class ...

  7. sqlite数据库操作详细介绍 增删改查,游标

    sqlite数据库操作详细介绍 增删改查,游标     本文来源于www.ifyao.com禁止转载!www.ifyao.com Source code     package com.example ...

  8. Delphi - cxGrid连接Oracle数据库 实现数据的增删改查

    cxGrid连接Oracle数据库 实现数据的增删改查 cxGrid连接Oracle数据库 1:通过OraSession连接数据库.OraDataSet实现OraSession和OraDataSour ...

  9. python学习之-成员信息增删改查

    python学习之-成员信息增删改查 主要实现了成员信息的增加,修改,查询,和删除功能,写着玩玩,在写的过程中,遇到的问题,旧新成员信息数据的合并,手机号和邮箱的验证,#!/usr/bin/env p ...

随机推荐

  1. Emgu-WPF 激光雷达研究-定位实现

    原文:Emgu-WPF 激光雷达研究-定位实现 特定位置或障碍物位置定位实现. 读取激光雷达数据并存储于本地作为测试数据.每一帧数据对同一障碍物的定位信息均存在偏差.所以先对需要定位的点进行数据取样. ...

  2. MVC 身份验证和异常处理过滤器

    :在Global中注册为全局过滤器,应用于所有的Controller的Action 参数类均继承自ControllerContext,主要包含属性请求上下文.路由数据.结果 using FilterE ...

  3. C++ Boost库简介(一些自己的感受)

    boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化.不过对比STL,boost更加实用.STL集中在算法部分,而boost包含了不少工具类, ...

  4. MFC应用程序配置不正确解决方案(manifest对依赖的强文件名,WinSxs是windows XP以上版本提供的非托管并行缓存)

    [现象] 对这个问题的研究是起源于这么一个现象:当你用VC++2005(或者其它.NET)写程序后,在自己的计算机上能毫无问题地运行,但是当把此exe文件拷贝到别人电脑上时,便不能运行了,大致的错误提 ...

  5. Win8Metro(C#)数字图像处理--2.34直方图规定化

    原文:Win8Metro(C#)数字图像处理--2.34直方图规定化  [函数名称] WriteableBitmap HistogramSpecificateProcess(WriteableBi ...

  6. error C2760: 语法错误: 意外的令牌“标识符”,预期的令牌为“类型说明符”

    解决办法: 打开项目工程----> 属性 ---> c/c++ --> 语音 --> 符合模式 修改成否即可

  7. 利用NPOI生成DOCX文档

    首先安装NPOI控件: Install-Package NPOI 代码: using NPOI.OpenXmlFormats.Wordprocessing; using NPOI.XWPF.UserM ...

  8. Java Web系列:Spring Boot 基础 Spring Security基本使用

    @OneToOne or @ManyToOne Caused by: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on com ...

  9. 改善C#程序的建议8:避免锁定不恰当的同步对象

    原文:改善C#程序的建议8:避免锁定不恰当的同步对象 在C#中让线程同步的另一种编码方式就是使用线程锁.所谓线程锁,就是锁住一个资源,使得应用程序只能在此刻有一个线程访问该资源.可以用下面这句不是那么 ...

  10. sklearn文本特征提取——TfidfVectorizer

    什么是TF-IDF IF-IDF(term frequency-inverse document frequency)词频-逆向文件频率.在处理文本时,如何将文字转化为模型可以处理的向量呢?IF-ID ...