赞
踩
默认编写的静态的效果,如果想要动态就需要用到Web框架的功能。
数据的存储:txt文件、excel文件、专业的软件:数据库管理系统(MySQL、Oracle、SQLServer、DB2...)
网址:https://dev.mysql.com/downloads/mysql/
查看已有的数据库
show databases;
创建数据库
create database 数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
删除数据库
drop database 数据库名字;
进入数据库
use 数据库名字;
查看数据库中所有的数据表
show tables;
删除表
drop table 表名称;
创建表,是否允许为空需要提前标注上,可以为空就在类型后面加上null,不能为空就在类型后面加上 not null,主键一般用来表示当前行的数据的编号,auto_increment是自增的意思。
- create table 表名称(
- 列名称 类型,
- 列名称 类型,
- 列名称 类型
- )default charset=utf8;
- create table tb1(
- id int auto_increment primary key, --主键(不允许为空,不允许重复)
- name varchar(16) not null, --不允许为空
- age int default 3 --插入数据时,默认值为3
- ) default charset=utf8;
查看表行列名、是否为空等信息
desc 表名;
常用数据类型:
tinyint
tinyint — 有符号,取值范围:-128 ~ 127(有正有负)
unsigned — 无符号,取值范围:0 ~255(只有正)
int
int 表示有符号,取值范围:-2147483648 ~ 2147483647
int unsigned 表示无符号,取值范围:0 ~ 4294967295
bigint
有符号,取值范围:-9223372036854775808 ~ 9223372036854775807
无符号,取值范围:0 ~ 18446744073709551615
表示小数的数据类型:float、double、decimal(精准)
语法格式“DECIMAL(M,D)”。
M是数字的最大数(精度),其范围为“1~65”,默认值是10;
D是小数点右侧数字的数目(标度),其范围是“0~30”,但不得超过M。类型说明 取值范围(MySQL < 3.23) 取值范围(MySQL >= 3.23)
字符串:
char:只给所固定的长度的空间,查询速度快
定长字符串,固定长度字符串,L是可以存储的长度,单位为字符,最大长度值可以为255
varchar:要多少给多少长度空间,节省空间
变长字符串,可变长度字符串,L表示字符长度,最大长度65535个字节
text
text数据类型用于保存变长的大字符串,可以组多到65535(2的16次方减1)个字符.一般情况下,长文本会用text类型,例如:文章、新闻等
mediumtext:最大长度为16777215(2的24次方减1)
longtext:最大长度为4294967295(2的32次方减1)
datatime YYYY-MM-DD hh:mm:ss '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'
date YYYY-MM-DD 1000-01-01/9999-12-31
往表里插入数据
- --单行插入
- insert into 表名(列名) values(值);
-
- --多行插入
- insert into 表名(列名) values(值),(值);
查看表中所有数据
select * from 表名;
删除数据
- delete from 表名;
- delete from 表名 where 条件;
-
- delete from tb1 where id=3;
修改数据
- update 表名 set 列=值;
- update 表名 set 列=值,列=值;
- update 表名 set 列=值 where 条件;
-
- update tb1 set age=age+10 where id>5;
查询数据
- select * from 表名称;
- select 列名称,列名称 from 表名称;
- select 列名称,列名称 from 表名称 where 条件;
-
- select id,name from tb1 where id>5;
用python代码连接Mysql并发送指令:pip install pymysql
cursor相当于一个通道,连接之后通过cursor输发数据
- #创建表
- create table addd(
- id int not null auto_increment primary key,
- username varchar(16) not null,
- mobile char(11) not null
- )default charset=utf8;
- #用python代码连接
- import pymysql
-
- #1.连接MySQL
- conn = pymysql.connect(host="127.0.0.1", port=3306, user='root', passwd="123456", charset='utf8', db='unicom')
- cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
-
- # 2.发送指令
- cursor.execute("insert into addd(username,mobile) values('abc', 12345678999)")
- conn.commit()
-
- #3.关闭
- cursor.close()
- conn.close()
- #查询数据
- import pymysql
-
- # 1.连接MySQL
- conn = pymysql.connect(host="127.0.0.1", port=3306, user='root', passwd="root123", charset='utf8', db='unicom')
- cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
-
- # 2.发送指令(删除是delete、修改是update 表名 set...)
- cursor.execute("select * from admin where id > %s", [2, ])
-
- # 获取符合条件的第一条数据
- res = cursor.fetchone()
- print(res) # {'id': 3, 'username': 'ddd','mobile': '98765432199'}
-
- # 3.关闭连接
- cursor.close()
- conn.close()
注意:
在进行新增、删除、修改的时候,不能忘记conn.commit,不然数据库没有数据;
在查询时,不需要commit,执行fetchall(查询所有数据)/fetchone(查询第一条数据)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。