一、数据库相关概念
1、两种硬件扩展方式
a、垂直扩展:针对一台计算机
b、水平扩展:多台普通计算机 2、数据库相关概念
数据库服务器(本质就是一个台计算机,该计算机之上安装有数据库管理软件的服务端)--简称数据库(运维角度)
数据库管理管理系统RDBMS(本质就是一个C/S架构的套接字软件)--简称数据库(运维角度)
注:一般数据库管理系统的服务端安在linux操作系统上
mysqld———服务端; mysql———客户端(python用不了mysql自带的服务端,需要用pymysql)
a、支持并发
b、锁的问题
c、对客户端请求进行认证
d、存取效率(降低IO次数)
库(文件夹)--简称数据库 (程序员角度)
表(文件):需设置字段(表头)
记录:抽取一个事物所有典型的特征/数据(一堆数据的集合)
egon,18,180,male,True
数据:
name='egon' age=18 height=180 sex="male" beutiful=True
SQL语句:不同数据库软件使用/定义的SQL语句不完全相同,但差别不大 3、数据库管理系统/软件分类 DBMS:
关系型RDBMS:
有表结构,存取数据前必先定义表结构,存数据必须按照字段的类型或者约束来
典型代表:MySQL,Oracle,DB2,SQL server(银行业常用)
非关系型(爬虫类常用):
存取数据都是采用key:value的形式
非关系型:Mongodb,redis,memcache(较不常用) 二、基本管理(windows系统)
1、安装(windows系统解压文件后即完成安装) 2、加环境变量 3、把mysqld软件做成系统服务
注意:制作之前先把mysqld关掉 C:\Windows\system32>tasklist |findstr mysqld
mysqld.exe 8372 Console 2 454,916 K
C:\Windows\system32>taskkill /F /PID 8372
成功: 已终止 PID 为 8372 的进程。 制作:
mysqld --install
查看:
windows+r
输入services.msc 4、启动:
未制作系统服务的启动方式:
1、启动服务端
mysqld 2、启动客户端
mysql -uroot -p -h127.0.0.1 -P 3306 #3306为mysql默认端口
如果是在本机登录mysqld服务端可以简写:mysql -uroot -p #本机IP已知,端口默认 制作完系统服务后就可以鼠标点击启动或关闭mysql:
windows+r
输入services.msc
找到mysql,启动或关闭 5、破解管理员密码
1、先关闭mysqld服务端
2、以跳过授权表的方式在命令行中启动mysqld服务端
mysqld --skip-grant-tables
3、客户端直接以无密码的方式登录root用户,修改密码
mysql -uroot -p mysql> update mysql.user set password=password("") where user="root" and host="localhost";
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0 mysql> flush privileges; #每次改完后强制刷新下
Query OK, 0 rows affected (0.00 sec) 4、在命令行中用taskkill杀死mysqld服务,然后正常启动mysqld
taskkill /F /PID 131312 def password(mingwen): #password模块可帮忙加密明文,直接调取即可
import hashlib
m=hashlib.md5()
m.update(mimgwen)
return m.hexdigest() 6、统一字符编码
1、在mysql安装目录下新建my.ini文件
2、修改my.ini
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci [client]
default-character-set=utf8 [mysql]
default-character-set=utf8 3、重启mysqld
4、客户端登录,输入\s查看结果 三、基本管理(mac系统)
1、安装 (mysql-5.6.35-macos10.12-x86_64.dmg) 2、加环境变量
https://blog.csdn.net/con_heart/article/details/53766931 其实和windows一样 在高级属性里加入环境变量是为了在任何一个路径下输入命令的时候都能找到这个命令,就不用每次要输入某个命令(如登录mysql)都要先进入命令所在的文件夹(一般挺长的)。下面就是把mysql的命令的路径加入环境变量:
1.打开终端,输入: cd ~
会进入~文件夹 2.然后输入:touch .bash_profile
回车执行后, 3.再输入:open -e .bash_profile
会在TextEdit中打开这个文件(如果以前没有配置过环境变量,那么这应该是一个空白文档)。如果有内容,请在结束符前输入,如果没有内容,请直接输入如下语句:export PATH=${PATH}:/usr/local/mysql/bin
然后,保存,退出TextEdit(一定是退出),关闭终端并退出。 4.再次打开终端,直接输入 【 mysql -u "你的用户名" -p 】 回车 再输入密码 这时候就能登入mysql了 3、查看mysql文件夹
前往文件夹 -》 /usr/local/mysql 4、启动:
访达-》系统偏好设置
PATH="$PATH":/usr/local/mysql/bin
mysql -u root -p #-p后面不加空格,直接接密码 5、破解管理员密码
https://blog.csdn.net/lishaojun0115/article/details/52805563 step1:苹果->系统偏好设置->最下边点MySQL 在弹出页面中 关闭mysql服务(点击stop mysql server)
step2:进入终端输入:cd /usr/local/mysql/bin/
回车后 登录管理员权限 sudo su
回车后输入以下命令来禁止mysql验证功能 ./mysqld_safe --skip-grant-tables &
回车后mysql会自动重启(偏好设置中mysql的状态会变成running) step3:
输入命令 ./mysql
回车后,输入命令 FLUSH PRIVILEGES;
回车后,输入命令 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你的新密码'); 至此,密码修改完成,可以成功登陆。 6、统一字符编码(防止乱码,统一成utf-8)
1、复制my.cnf文件,并在其中添加以下内容
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
#basedir=/usr/local/mysql/
#datadir=/usr/local/mysql/data/
[client]
default-character-set=utf8
user=root
password=******
[mysql]
default-character-set=utf8
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 2、关闭mysql服务端 3、在\etc下添加my.cnf 4、重启mysql服务端,在客户端中登陆并查看(\s) 7、其他:
MAC电脑安装Mysql服务器和Navicat for mysql客户端
https://blog.csdn.net/kuangdacaikuang/article/details/76515985 四、基本的SQL语句
#SQL语句的主要操作对象为库,表,记录;其中对记录的操作最为常见
1、文件夹(库)#库名可按照python的命名规则来

create database db1 charset utf8;

alter database db1 charset gbk; #库名修改不了

查看所有库的库名
show databases; #其中information_scheme是内存中的表
单独查看某一个库的信息
show create database db1;

drop database db1; 2、文件(表)#表名可按照python的命名规则来
首先切换文件夹:
use db1; #也可后续db1.t1调用
select database(); #查看当前所在的文件夹

create table t1(id int,name char); #char即sql中的str

alter table t1 modify name char(16); #16为存取限制,最多存取16个字符

查看当前库下所有的表名
show tables;
查看t1表的详细信息
show create table t1;
查看表结构
desc t1;

drop table t1; 3、文件的一行内容(记录)

insert into db1.t1 values
(1,'egon'), #增加前最好检查下之前表的charset
(2,'alex'),
(3,'lxx');

update db1.t1 set name='sb' where id > 1;

select id,name from db1.t1;
select * from db1.t1 where age >20;

delete from db1.t1 where name = "SB" ; 4、;为SQL语句的语句结束提示符
\c 若语句错误,想退出每次输入并不影响结果时使用

Python(数据库安装与基本语句)的更多相关文章

  1. python数据库-安装问题总结(48)

    一.ERROR1698(28000):Access denied for user root@localhost错误 我的操作系统是ubuntu: 我的MySQL版本是: 安装完成后,登录mysql的 ...

  2. 解决python无法安装mysql数据库问题

    解决python无法安装mysql数据库问题: pip install pymysql[使用这个命令来安装]

  3. python数据库(mysql)操作

    一.软件环境 python环境默认安装了sqlite3,如果需要使用sqlite3我们直接可以在python代码模块的顶部使用import sqlite3来导入该模块.本篇文章我是记录了python操 ...

  4. Mysql数据库安装和配置

    http://blog.csdn.net/pipisorry/article/details/46773507 Mysql数据库安装和配置.mysql语法.特殊符号及正则表达式的使用.MySQL备份与 ...

  5. python 库安装方法及常用库

    python 库安装方法及常用库 python库安装方法: 方法一:setpu.py 1.下载库压缩包,解压,记录下路径:*:/**/……/ 2.运行cmd,切换到*:/**/……/目录下 3.运行s ...

  6. 为什么学习Python及Python环境安装

    大部分人在工作中可能是以c/c++.java之类的语言为主.这也可能是我们接触的第一个开发语言,这类语言一般有丰富地类库.高效地运行速率.灵活地组合控制,须要经过编译在运行.适用于大型的项目proje ...

  7. PostgreSQL数据库安装

    PostgreSQL数据库安装 postgresqllinux9.6.0 2018年01月31日 10时53分13秒 编译以及安装 源码编译 程序安装 数据库的启动和停止 启动数据库 关闭数据库 数据 ...

  8. python Scrapy安装和介绍

    python Scrapy安装和介绍 Windows7下安装1.执行easy_install Scrapy Centos6.5下安装 1.库文件安装yum install libxslt-devel ...

  9. MySQL数据库安装,配置My.ini文件

    最近在做项目开发时用到了MySql数据库,在看了一些有关MySql的文章后,很快就上手使用了.在使用的过程中还是出现了一些问题,因为使用的是绿色免安装版的MySql所以在配置的时候出现了一些问题,该篇 ...

随机推荐

  1. 绝不能错过的10款最新OpenStack网络运维 & 监控工具

    摘要 今天我们要推荐给大家的是关于奥斯汀OpenStack Summit的OpenStack网络方面功能与工具相关的技术演讲. 希望可以帮助国内的开发者.架构师和用户更好地了解OpenStack在SD ...

  2. flink on yarn部分源码解析 (FLIP-6 new mode)

    我们在https://www.cnblogs.com/dongxiao-yang/p/9403427.html文章里分析了flink提交single job到yarn集群上的代码,flink在1.5版 ...

  3. Linux压缩解压缩命令学习笔记

    Linux中主要的压缩文件有:*.gz   *.tar  *.tar.gz  *.zip  *.bz2  *.tar.bz2 .zip这种古老的压缩格式,在window和Linux中都不需要安装软件可 ...

  4. push images to private repostory

    1.从官网pull 所需要的基础镜像 docker pull microsoft/mssql-server-windows-express 2.打上私有仓库标签 docker tag microsof ...

  5. 在一个千万级的数据库查寻中,如何提高查询效率?分别说出在数据库设计、SQL语句、java等层面的解决方案。

    在一个千万级的数据库查寻中,如何提高查询效率?分别说出在数据库设计.SQL语句.java等层面的解决方案. 解答: 1)数据库设计方面: a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 whe ...

  6. 框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口

    框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口. 与Frame不同,Applet是在网页中显示的,也可以通过添加Panel进行组件布局. package TomAwt; im ...

  7. 【vijos】1791 骑士的旅行(特殊的技巧)

    https://vijos.org/p/1791 暴力的话只想到bfs,然后估计是状态超了才得20分. 噗,为啥暴力就不能想得简单点QAQ.....这种思想很好啊. 这一题我看了题解后不得不说我竟然没 ...

  8. smartJS 0.1 API 讲解 - PromiseEvent

    上篇简单的介绍smartjs了一些通用方法的api.这篇介绍基础的PromiseEvent(这个名字一直没想好,以前准备用callbacks的,但避免与jquery混淆,st的命名空间可以直接挂到$上 ...

  9. 蓝桥杯 第三届C/C++预赛真题(9) 夺冠概率(手工计算概率)

    足球比赛具有一定程度的偶然性,弱队也有战胜强队的可能. 假设有甲.乙.丙.丁四个球队.根据他们过去比赛的成绩,得出每个队与另一个队对阵时取胜的概率表: 甲 乙 丙 丁 甲 - 0.1 0.3 0.5乙 ...

  10. 【ask】vc11 sln文件里加入新的vcxproj已有vcxproj里的用户宏没有自动复制过来

    今天在quick-cocos2d-x生成的sln,需要添加一个新的自己的lib,以前就是直接把.h和.cc文件直接添加过去(为了省事呗),今天时间宽裕索性还是新建一个vcxproj吧,然后用静态lib ...