大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说数据库用python_数据库结构的基础是,希望您对编程的造诣更进一步.
- 一、SQL与NoSQL
- 二、数据库重要概念
- 三、基本SQL语句
- 1、基于库-CRUD
- 1、1.创建库
- 1、2.查看库
- 1、3.编辑库
- 1、4.切换库
- 2、基于表-CRUD
- 2、1.创建表
- 2、2.查看表
- 2、3.编辑表
- 3、基于记录-CRUD
- 3、1.插入记录
- 3、2.查询记录
- 3、3.编辑数据
- 1、基于库-CRUD
一、SQL与NoSQL
数据库服务端可以服务多种类型的客户端
客户端可以是自己开发的,也可以是python代码编写的,也可以是其他编程语言编写的
- SQL
- 操作关系型数据的语言
- NoSQL
- 操作非关系型数据的语言
须知:
1、SQL有时又也指代关系型数据库
2、NoSQL有时候也指代非关系型数据库
二、数据库重要概念
为了更方便的理解数据库的概念,将数据库分成了下列三种表述方式
- 库 >>>>>:文件夹
- show databases 查看库
- 表 >>>>>:文件夹里的文件
- show tables 查看库中的文件
- 记录>>>>>:文件夹里的文件中一行一行的数据
- select * from mysql.user;
三、基本SQL语句
1、基于库-CRUD
1、1.创建库
用法:
create database 库名;
mysql> create database userinfor;
Query OK, 1 row affected (0.00 sec)
1、2.查看库
- 查看所有库
用法:
show databases; - 查看指定库
用法:
show create database 库名;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| userinfor |
+--------------------+
5 rows in set (0.00 sec)
########################################################
show create database userinfor;
---------------------------------------
mysql> show create database userinfor;
+-----------+----------------------------------------------------------------------+
| Database | Create Database |
+-----------+----------------------------------------------------------------------+
| userinfor | CREATE DATABASE `userinfor` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+-----------+----------------------------------------------------------------------+
1 row in set (0.00 sec)
1、3.编辑库
用法:
- 修改库的编码类型
- alter database 库名 charset=”utf8″;
- 删除库
- drop database 库名;
mysql> alter database userinfor charset="utf8";
Query OK, 1 row affected (0.02 sec)
1、4.切换库
用法:
use 库名;
mysql> use userinfo;
Database changed
2、基于表-CRUD
注意事项:
操作之前需要先确定库
2、1.创建表
用法:
create table 表名(字段名1 字段类型,字段名2 字段类型,..)
mysql> create table t1(name varchar(24),age int, gender varchar(23));
Query OK, 0 rows affected (0.01 sec)
2、2.查看表
用法:
- 查看当前库下所有表
- show tables;
mysql> show tables;
+--------------------+
| Tables_in_userinfo |
+--------------------+
| t1 |
| t2 |
| t3 |
| t4 |
| t6 |
+--------------------+
5 rows in set (0.00 sec)
- 查看当前库下指定的表的信息
- show create table 表名;
mysql> show create table t1;
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table
|
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t1 | CREATE TABLE `t1` (
`name` varchar(24) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`gender` varchar(23) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
- 查看当前库下指定的表的结构
- describe 表名;
- desc 表名;
mysql> desc t1;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| name | varchar(24) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
| gender | varchar(23) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.02 sec)
2、3.编辑表
用法:
- 修改表名
- alter table 表名 rename 新表名;
mysql> alter table t6 rename t5;
Query OK, 0 rows affected (0.00 sec)
- 删除表
- drop table 表名;
mysql> drop table t5;
Query OK, 0 rows affected (0.00 sec)
3、基于记录-CRUD
3、1.插入记录
用法:
insert into 表名 values(数据值1,数据值2, …)
mysql> insert into t1 values("kangkang", 18 ,"male"),("lizhi", 18 ,"male");
Query OK, 1 row affected (0.01 sec)
3、2.查询记录
用法:
- 查询表中所有数据
- select * from 表名:
mysql> select * from userinfo.t1;
+----------+------+--------+
| name | age | gender |
+----------+------+--------+
| kangkang | 18 | male |
| lizhi | 18 | male |
+----------+------+--------+
3、3.编辑数据
用法:
- 修改字段名
- update 表名 set 字段名=新数据 where 赛选条件;
mysql> update t1 set name="kangk" where name="kangkang";
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0
- 删除数据(删除表内所有数据)
- delete from 表名;
mysql> delete from t1;
Query OK, 2 rows affected (0.00 sec)
mysql> select * from userinfo.t1;
Empty set (0.00 sec)
- 删除表内指定数据
- delete from 表名 where 筛选条件;
mysql> delete from t1 where name="lizhi";
Query OK, 1 row affected (0.00 sec)
原文地址:https://www.cnblogs.com/kangssssh/archive/2022/11/22/16916638.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4509.html