欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python数据库-MySQL数据库的增删改查基本操作(49)

程序员文章站 2023-04-05 14:11:56
一、数据库基础 表 table:数据是保存在表内,保存在一个表内的数据,应该具有相同的数据格式 行:行用于记录数据 记录:行内的数据 列:列用于规定数据格式 字段:数据的某个列 主键:唯一地标识表中的某一条记录,不能空,不能重复 表 table:数据是保存在表内,保存在一个表内的数据,应该具有相同的 ......

 

一、数据库基础

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

python数据库-MySQL数据库的增删改查基本操作(49)

 

4、列的约束: 

  python数据库-MySQL数据库的增删改查基本操作(49)

 

三、数据库连接

  在关于数据库的第一篇文章中就给大家讲了使用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(10) not null);

3、修改表

语法:

alter table 表名 add(添加)|modify(修改)|drop(删除) 列名 类型;

添加列:h_skill 为字符类型

alter table hero add h_skill varchar(10);

修改列:h_skill修改本属性不能为空

alter table hero modify h_skill varchar(10) not null;

4、删除表

drop table 表名;

5、查看表结构

desc 表名;

例如:

mysql> desc hero;
+---------+-------------+------+-----+---------+----------------+
| field   | type        | null | key | default | extra          |
+---------+-------------+------+-----+---------+----------------+
| h_id    | int(11)     | no   | pri | null    | auto_increment |
| h_name  | varchar(10) | no   |     | null    |                |
| h_skill | varchar(10) | no   |     | null    |                |
+---------+-------------+------+-----+---------+----------------+
3 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(11) not null auto_increment,
  `h_name` varchar(10) not null,
  `h_skill` varchar(10) not null,
  primary key (`h_id`)
) engine=innodb default charset=utf8 |
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

 

六、数据操作

1、增加数据

insert into 表名(列1,...) values(值1,...);

例如:

insert into hero(h_id,h_name,h_skill) values(1,'韩信','裂天爆斩');

  主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后以实际数据为准

2、简单查询数据

select * from 表名

例如:

mysql> select * from hero;
+------+--------+--------------+
| h_id | h_name | h_skill      |
+------+--------+--------------+
|    1 | 韩信   | 裂天爆斩     |
+------+--------+--------------+
1 row in set (0.00 sec)

3、修改数据

update 表名 set 列1=值1,... where 条件

例如:

update hero set h_skill='真裂天爆斩' where h_id=1;
mysql> select * from hero;
+------+--------+-----------------+
| h_id | h_name | h_skill         |
+------+--------+-----------------+
|    1 | 韩信   | 真裂天爆斩      |
+------+--------+-----------------+
1 row in set (0.00 sec)

4、删除数据

delete from 表名 where 条件

例如:

mysql> delete from hero where h_id=1;
query ok, 1 row affected (0.01 sec)

mysql> select * from hero;
empty set (0.00 sec)