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

打印 上一主题 下一主题

主题 650|帖子 650|积分 1950

目录

一、SQL与NoSQL

​        数据库服务端可以服务多种类型的客户端
​        客户端可以是自己开发的,也可以是python代码编写的,也可以是其他编程语言编写的

  • SQL

    • 操作关系型数据的语言

  • NoSQL

    • 操作非关系型数据的语言

须知:
​        1、SQL有时又也指代关系型数据库
​        2、NoSQL有时候也指代非关系型数据库
二、数据库重要概念

​        为了更方便的理解数据库的概念,将数据库分成了下列三种表述方式

  • 库   >>>>>:文件夹

    • show databases   查看库

  • 表   >>>>>:文件夹里的文件

    • show tables 查看库中的文件

  • 记录>>>>>:文件夹里的文件中一行一行的数据

    • select * from mysql.user;

三、基本SQL语句

1、基于库-CRUD

1、1.创建库

用法:create database 库名;
  1. mysql> create database userinfor;
  2. Query OK, 1 row affected (0.00 sec)
复制代码
1、2.查看库


  • 查看所有库
    用法:show databases;
  • 查看指定库
    用法:show create database 库名;
  1. mysql> show databases;
  2. +--------------------+
  3. | Database        |
  4. +--------------------+
  5. | information_schema |
  6. | mysql          |
  7. | performance_schema |
  8. | test           |
  9. | userinfor        |
  10. +--------------------+
  11. 5 rows in set (0.00 sec)
  12. ########################################################
  13. show create database userinfor;
  14. ---------------------------------------
  15. mysql> show create database userinfor;
  16. +-----------+----------------------------------------------------------------------+
  17. | Database  | Create Database                                                      |
  18. +-----------+----------------------------------------------------------------------+
  19. | userinfor | CREATE DATABASE `userinfor` /*!40100 DEFAULT CHARACTER SET latin1 */ |
  20. +-----------+----------------------------------------------------------------------+
  21. 1 row in set (0.00 sec)
复制代码
1、3.编辑库

用法:

  • 修改库的编码类型

    • alter database 库名 charset='utf8';

  • 删除库

    • drop database 库名;

  1. mysql> alter database userinfor charset='utf8';
  2. Query OK, 1 row affected (0.02 sec)
复制代码
1、4.切换库

用法:use 库名;
  1. mysql> use userinfo;
  2. Database changed
复制代码
2、基于表-CRUD

注意事项:
​        操作之前需要先确定库
2、1.创建表

用法:create table 表名(字段名1 字段类型,字段名2 字段类型,..)
  1. mysql> create table t1(name varchar(24),age int, gender varchar(23));
  2. Query OK, 0 rows affected (0.01 sec)
复制代码
2、2.查看表

用法:

  • 查看当前库下所有表

    • show tables;

  1. mysql> show tables;
  2. +--------------------+
  3. | Tables_in_userinfo |
  4. +--------------------+
  5. | t1            |
  6. | t2            |
  7. | t3            |
  8. | t4            |
  9. | t6            |
  10. +--------------------+
  11. 5 rows in set (0.00 sec)
复制代码

  • 查看当前库下指定的表的信息

    • show create table 表名;

  1. mysql> show create table t1;
  2. +-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  3. | Table | Create Table
  4.                                                   |
  5. +-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  6. | t1    | CREATE TABLE `t1` (
  7.   `name` varchar(24) DEFAULT NULL,
  8.   `age` int(11) DEFAULT NULL,
  9.   `gender` varchar(23) DEFAULT NULL
  10. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
  11. +-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  12. 1 row in set (0.00 sec)
复制代码

  • 查看当前库下指定的表的结构

    • describe 表名;
    • desc 表名;

  1. mysql> desc t1;
  2. +--------+-------------+------+-----+---------+-------+
  3. | Field  | Type        | Null | Key | Default | Extra |
  4. +--------+-------------+------+-----+---------+-------+
  5. | name   | varchar(24) | YES  |     | NULL    |       |
  6. | age    | int(11)     | YES  |     | NULL    |       |
  7. | gender | varchar(23) | YES  |     | NULL    |       |
  8. +--------+-------------+------+-----+---------+-------+
  9. 3 rows in set (0.02 sec)
复制代码
2、3.编辑表

用法:

  • 修改表名

    • alter table 表名 rename 新表名;

  1. mysql> alter table t6 rename t5;
  2. Query OK, 0 rows affected (0.00 sec)
复制代码

  • 删除表

    • drop table 表名;

  1. mysql> drop table t5;
  2. Query OK, 0 rows affected (0.00 sec)
复制代码
3、基于记录-CRUD

3、1.插入记录

用法:insert into 表名 values(数据值1,数据值2, ...)
  1. mysql> insert into t1 values('kangkang', 18 ,'male'),('lizhi', 18 ,'male');
  2. Query OK, 1 row affected (0.01 sec)
复制代码
3、2.查询记录

用法:

  • 查询表中所有数据

    • select * from 表名:

  1. mysql> select * from userinfo.t1;
  2. +----------+------+--------+
  3. | name     | age  | gender |
  4. +----------+------+--------+
  5. | kangkang |   18 | male   |
  6. | lizhi    |   18 | male   |
  7. +----------+------+--------+
复制代码
3、3.编辑数据

用法:

  • 修改字段名

    • update 表名 set 字段名=新数据 where 赛选条件;

  1. mysql> update t1 set name='kangk' where name='kangkang';
  2. Query OK, 1 row affected (0.02 sec)
  3. Rows matched: 1  Changed: 1  Warnings: 0
复制代码

  • 删除数据(删除表内所有数据)

    • delete from 表名;

  1. mysql> delete from t1;
  2. Query OK, 2 rows affected (0.00 sec)
  3. mysql> select * from userinfo.t1;
  4. Empty set (0.00 sec)
复制代码

  • 删除表内指定数据

    • delete from 表名 where 筛选条件;

  1. mysql> delete from t1 where name='lizhi';
  2. Query OK, 1 row affected (0.00 sec)
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

北冰洋以北

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表