加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python操作三大主流数据库

发布时间:2020-12-20 10:22:42 所属栏目:Python 来源:网络整理
导读:网址:https://coding.imooc.com/learn/list/114.html 学会使用的技术栈:python flask redis mongoDB mysql 第1章 数据库简介 简单介绍Mysql、数据库简介、导学篇 第2章 mysql基础 XAMPP 集成好的 最流行的PHP开发环境 mac 版本的mysql 安装 https://www.cn
  • 网址:https://coding.imooc.com/learn/list/114.html
  • 学会使用的技术栈:python flask redis mongoDB mysql

第1章 数据库简介

简单介绍Mysql、数据库简介、导学篇

第2章 mysql基础

XAMPP 集成好的 最流行的PHP开发环境

mac 版本的mysql 安装
https://www.cnblogs.com/myxq666/p/7787744.html

数据库调试代码

-- 数据库链接小测试 CREATE DATABASE `mydatabase`; USE `mydatabase`; CREATE TABLE `students`( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,-- 【解释】 id 整数类型 不为空 自动增长 `name` VARCHAR(200) NOT NULL,`nickmane` VARCHAR(200) NULL,`sex` CHAR(20) NULL,`in_time` DATETIME NULL ) DEFAULT CHARACTER SET utf8 ; -- 插入一条语句 INSERT INTO `students` VALUE(1,‘sss‘,‘s‘,‘1‘,NOW()) -- 【解释】 id 整数类型 不为空 自动增长 INSERT INTO `students` VALUE(1,‘张三‘,‘三‘,‘男‘,NOW()) INSERT INTO `students` VALUE(2,NOW()) INSERT INTO `students` VALUE(3,NOW()) INSERT INTO `students` VALUE(4,‘zhangsan‘,‘san‘,‘nan‘,NOW()) INSERT INTO `students` VALUE(5,‘sadsadsa‘,‘ewqewq‘,‘fleman‘,NOW()) select * from `students`
# -- coding: utf-8 -- import MySQLdb class MysqlSearch(object): # 让MysqlSearch类继承object对象 def __init__(self): # 在初始化的时候调用 self.get_conn() def get_conn(self): # 数据库链接 try: self.conn = MySQLdb.connect( host="localhost",user="root",passwd="ljc123456",db="mydatabase",port=3306,charset=‘utf8‘ ) except MySQLdb.Error as e: print("Error : %s" % e) def close_conn(self): # 关闭数据库 try: if self.conn: # 关闭链接 self.conn.close() except MySQLdb.Error as e: print("Error: %s" % e) def get_more(self): sql = "select * from `students`" cursor = self.conn.cursor() cursor.execute(sql) rest = cursor.fetchall() cursor.close() return rest def main(): obj = MysqlSearch() re = obj.get_more() print(re) print(type(re)) obj.close_conn() pass if __name__ == ‘__main__‘: main() """ 数据库链接测试成功 问题1: OperationalError: (2006,‘SSL connection error: SSL_CTX_set_tmp_dh failed‘) 把 127.0.0.1 换成 localhost import MySQLdb MySQLdb.connect( host="localhost",user="root",passwd="ljc123456",db="mydatabase",port=3306,charset=‘utf8‘ ) import pymysql pymysql.connect( host="localhost",charset=‘utf8‘ ) 问题2: <bound method MysqlSearch.get_more of <__main__.MysqlSearch object at 0x107922390>> sql = "select * from `students`" 写成了 sql = "select * from `students`;" """

2-2 mysql图形化管理工具

  • Mysql语法
    1. show databases; 查看所有数据库
    2. use baidu;使用某一个数据库
    3. show tables; 查看数据库的数据表
  • 图形化的管理工具:
    * Php my Admin
    * Navicat for mysql
    2-3 sql语法基础-创建并使用数据库

  • DDL 数据定义语句
    * CREATE table/database 创建
    * ALTER table/database 修改
    * DROP table/database 删除
  • DML 数据管理语句
    * INSERT 增加
    * DELETE 删除
    * UPDATE 更新
    * SELECT 查询
    1.创建数据库

——[注释]创建并使用数据库
CREATE DATABASE `mydatabase`; 反引号 USE `mydatabase`; 一般对数据库的操作分为 只读 和 读写 当我们在修改的时候采用读写 一般用只读来查询数据 % 代表任何ip地址都可以访问 localhost 127.0.0.1 -- 新建数据库 CREATE DATABASE `school`; -- 使用数据库 USE `school`; -- 创建表格 CREATE TABLE `students`( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,`sex` CHAR(1) NULL,`in_time` DATETIME NULL ); -- 常见类型: int char varchar datetime -- CHAR(200) 即使你存一个字符它也要用200个字节,这样很浪费空间。 -- VARCHAR(200) 以实际用的内存为主 -- NOT NULL 不为空 必须得填写 -- NULL 可以为空 -- 注意后面有一个分号 ; -- 数据库优化:mysql36条军规

2-4 sql语法基础-创建表

2-5 sql语法基础-插入和查询语句

-- 新建查询 -- 新建多条学生数据 -- 插入语句 USE `school`; -- 创建表格 CREATE TABLE `students6`( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,-- 【解释】 id 整数类型 不为空 自动增长 `name` VARCHAR(200) CHARACTER SET utf8 NOT NULL,`nickmane` VARCHAR(200) CHARACTER SET utf8 NULL,`sex` CHAR(20) CHARACTER SET utf8 NULL,`in_time` DATETIME NULL ); CREATE TABLE `students`( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,`in_time` DATETIME NULL ) DEFAULT CHARACTER SET utf8 ; -- 显示中文要加上默认设置 -- 插入一条语句 INSERT INTO `students` VALUE(1,NOW()) INSERT INTO `students5` VALUE(2,‘zhang‘,‘0‘,NOW()) INSERT INTO `students6` VALUE(2,NOW()) INSERT INTO `students6` VALUE(1,‘ssswqewq‘,‘sqw‘,‘1wew‘,NOW()) INSERT INTO `students6` VALUE(3,NOW()) INSERT INTO `students6` (`name`,`nickmane`,`sex`,`in_time`) VALUE(‘张三三多条数数据插入‘,‘三三s‘,NOW()); INSERT INTO `students6` (`name`,`nickmane`) VALUE(‘张三3‘,‘三2s‘); -- 非空的记录是必须填写的。 -- 插入多条语句 -- 以分号;结尾 表示 一个语句 -- 多行出入的时候通常以逗号,分隔。 INSERT INTO `students6` (`name`,`nickmane`) VALUES (‘张三X‘,‘三X‘),(‘张三X1‘,‘三X1‘),(‘张三X2‘,‘三X2‘),(‘张三X3‘,‘三X3‘),(‘张三X4‘,‘三X4‘),(‘张三X5‘,‘三X5‘),(‘张三X6‘,‘三X6‘) ; /* ---- 查询语句 ---- */ -- 查询表students6的所有数据的所有信息 SELECT * from `students6`; -- 只查询数据的`name`以及 `nickmane` SELECT `name`,`nickmane` FROM `students6`; -- 查询所有性别为 男 的 数据信息 SELECT `name`,`nickmane` FROM `students6` WHERE `sex`=‘男‘; SELECT `id`,`name`,`nickmane` FROM `students6` WHERE `sex`=‘男‘; -- 排序 -- ASC 正序、DESC 倒序 SELECT `id`,`nickmane` FROM `students6` WHERE `sex`=‘男‘ ORDER BY `id` DESC; /* 查询条件书写的顺序 SELECT FROM WHERE GROUP BY HAVING ORDER BY LIMIT 翻页 有两个参数 表述数据的起始位置(数据的偏移量),第二个数字表示多少个数据一页 */ SELECT `id`,`nickmane` 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读