百木园-与人分享,
就是让自己快乐。

Python基础之数据库:3、SQL与NoSQL、数据库重要概念、SQL的基本语句

目录

  • 一、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.编辑数据

一、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/p/16916638.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Python基础之数据库:3、SQL与NoSQL、数据库重要概念、SQL的基本语句

相关推荐

  • 暂无文章