python---数据库认识和基础操作

每一种编程语言都有自己的数据存储方式,有多个属于自己的数据库。如何去创建使用数据库,就是我们今天所要了解的内容,当然我们只了解python数据库的创建和使用。首先让我们先认识一下数据库。
实际待开发过程当中,数据存储主要有三种方式
1.将数据存储到内存当中
   1).使用方便,读写速度快  

   2).程序关闭的时候,内存会被释放,数据会消失
2.将数据写入到文件当中
   1).数据存储是永久性的,不易丢失 

   2).打开文件的时候,操作数据比较麻烦
3.将数据存储到数据库当中
   1).数据存储是永久性的,操作比较方便 

   2).数据库学习难度比较大

数据库分为两大类
1.关系型数据库 :数据库之间存在着广泛的联系,通过数据库可以访问到其他数据
2.非关系型数据库:数据库和数据库之间没有联系
   1).数据为单独的,数据之间的耦合度比较低,对数据进行删减不会影响其他数据

数据库按照规模大小分为四种
1.大型数据库:oracle
2.中型数据库:SQlserver
3.小型数据库:mySQL
4.微型数据库:sqlite 大小只有四兆

1.创建一个数据库

2.对数据库进行增删改查操作
   1).写入数据

    2).删除数据

    3).查询数据

3.数据库模糊查询

import sqlite3
import random
connect = sqlite3.connect('nameDB')
curosr = connect.cursor()
curosr.execute('create table if not exists nameTable(name text)')
connect.commit()
str = """
赵钱孙李,周吴郑王。
冯陈褚卫,蒋沈韩杨。
朱秦尤许,何吕施张。
孔曹严华,金魏陶姜。
戚谢邹喻,柏水窦章。
云苏潘葛,奚范彭郎。
鲁韦昌马,苗凤花方。
俞任袁柳,酆鲍史唐。
费廉岑薛,雷贺倪汤。
一二三四,东西南北
"""
str = str.replace(',','').replace('。','').replace('\n','')
print(str)
for x in range(1000):
    name = ''
    for y in range(random.randint(2,3)):
        char = random.choice(str)
        name += char
    # print(name)
curosr.execute('INSERT INTO nameTable (name) VALUES ("{}")'.format(name))
connect.commit()
def get_all_match_info():
    # like 是数据库进行匹配的关键字 后面为匹配的规则
    # x_表示找到以x为开头,后面只有一位的数据
    # __多少位 就表示找到后面有几位的数据
    curosr.execute('SELECT *FROM  nameTable WHERE name LIKE "张_"')
    # print(curosr.fetchall())
    curosr.execute('SELECT *FROM nameTable WHERE name LIKE "_王"')
    # print(curosr.fetchall())
    # %x 表示找到以x结束的数据
    curosr.execute('SELECT *FROM nameTable WHERE name LIKE "%李"')
    # print(curosr.fetchall())
    # x% 表示找到以x开始的数据
    curosr.execute('SELECT *FROM nameTable WHERE name LIKE "冯%"')
    # print(curosr.fetchall())
    # %x% 表示所有包含x的数据
    curosr.execute('SELECT *FROM nameTable WHERE name LIKE "%花%"')
    print(curosr.fetchall())
    # print(curosr.fetchall())
get_all_match_info()

猜你喜欢

转载自blog.csdn.net/zuo199606184810/article/details/81461363