当前位置:   article > 正文

Web开发:django+前端+数据库(6)— Mysql_mysql web开发

mysql web开发

1.  初识网站

默认编写的静态的效果,如果想要动态就需要用到Web框架的功能。

数据的存储:txt文件、excel文件、专业的软件:数据库管理系统(MySQL、Oracle、SQLServer、DB2...)

2.安装Mysql

网址:https://dev.mysql.com/downloads/mysql/

3.MySQL指令

3.1数据库管理

查看已有的数据库

show databases;

创建数据库

create database 数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

删除数据库

drop database 数据库名字;

进入数据库

use 数据库名字;

查看数据库中所有的数据表

show tables;

删除表

drop table 表名称;
3.2  数据表的管理

创建表,是否允许为空需要提前标注上,可以为空就在类型后面加上null,不能为空就在类型后面加上 not null,主键一般用来表示当前行的数据的编号,auto_increment是自增的意思。

  1. create table 表名称(
  2. 列名称 类型,
  3. 列名称 类型,
  4. 列名称 类型
  5. )default charset=utf8;
  1. create table tb1(
  2. id int auto_increment primary key, --主键(不允许为空,不允许重复)
  3. name varchar(16) not null, --不允许为空
  4. age int default 3 --插入数据时,默认值为3
  5. ) 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

往表里插入数据

  1. --单行插入
  2. insert into 表名(列名) values(值);
  3. --多行插入
  4. insert into 表名(列名) values(值),(值);

查看表中所有数据

select * from 表名;
3.3  数据行操作

删除数据

  1. delete from 表名;
  2. delete from 表名 where 条件;
  3. delete from tb1 where id=3;

修改数据

  1. update 表名 set=值;
  2. update 表名 set=值,列=值;
  3. update 表名 set=where 条件;
  4. update tb1 set age=age+10 where id>5;

查询数据

  1. select * from 表名称;
  2. select 列名称,列名称 from 表名称;
  3. select 列名称,列名称 from 表名称 where 条件;
  4. select id,name from tb1 where id>5;

4.  Python操作Mysql

用python代码连接Mysql并发送指令:pip install pymysql

cursor相当于一个通道,连接之后通过cursor输发数据

  1. #创建表
  2. create table addd(
  3. id int not null auto_increment primary key,
  4. username varchar(16) not null,
  5. mobile char(11) not null
  6. )default charset=utf8;
  1. #用python代码连接
  2. import pymysql
  3. #1.连接MySQL
  4. conn = pymysql.connect(host="127.0.0.1", port=3306, user='root', passwd="123456", charset='utf8', db='unicom')
  5. cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
  6. # 2.发送指令
  7. cursor.execute("insert into addd(username,mobile) values('abc', 12345678999)")
  8. conn.commit()
  9. #3.关闭
  10. cursor.close()
  11. conn.close()
  1. #查询数据
  2. import pymysql
  3. # 1.连接MySQL
  4. conn = pymysql.connect(host="127.0.0.1", port=3306, user='root', passwd="root123", charset='utf8', db='unicom')
  5. cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
  6. # 2.发送指令(删除是delete、修改是update 表名 set...)
  7. cursor.execute("select * from admin where id > %s", [2, ])
  8. # 获取符合条件的第一条数据
  9. res = cursor.fetchone()
  10. print(res) # {'id': 3, 'username': 'ddd','mobile': '98765432199'}
  11. # 3.关闭连接
  12. cursor.close()
  13. conn.close()

注意:

在进行新增、删除、修改的时候,不能忘记conn.commit,不然数据库没有数据;

在查询时,不需要commit,执行fetchall(查询所有数据)/fetchone(查询第一条数据) 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/654611
推荐阅读
相关标签
  

闽ICP备14008679号