1.sql数据类型
-
可以通过常查看帮助文档查阅支持的数据类型
-
可以使用数据类型的原则是:==够用就行,尽量使用取值范围小的,不用大的,节省数据空间
-
常用数据类型:
-
整数:int,bit
-
小数:decimal
-
字符串:varchar,char
-
日期时间:date,time,datetime
-
枚举类型(enum)
-
-
特别说明的类型如下:
-
decimal表示浮点数 如decimal(5,2)表示共存5位数,小数占两位
-
char小时固定长度的字符串,如char(3),填充"ab"时就会补一个空格为"ab "
-
varchar表示可以变长度的字符串,如varcharr(3),填充"ab"时就会存储ab
-
字符串text表示储存答问比,当字符大于4000时推荐使用
-
对于图片 音频 视频等文件,不存在数据库中,而是上传到服务器,然后在表中存储这个文件的路径
-
2 约束
日期时间类型
数据库的基本操作
1 命令行连接数据库
- 在工作中主要使用命令的操作方式 要求熟练编写
- 打开终端输入命令
mysql -uroot -p
回车之后输入密码即可
- 链接成功
2.常用指令
######## 任何一个sql指令必须要有 ; 或者\g
qiut 或者 exit() 可以退出sql
- mysql -uroot -p
- 输入密码之后可以登录
- select now()
- 输入之后可以查看当前的时间
- prompt \d
- 可以把标识符换成当前时间prompt xxx
数据库常用操作
-
链接数据库
- mysql -uroot -p
-
查看创建的数据库
- show databases; 必须有s
-
查看当前使用的数据库
- select database(); 函数 返回NULL为空
-
使用数据库
- use demo(数据库名)
-
创建数据库
-
create database 数据库名 charset = 字符集 例:
create database demo2 charset=utf8
-
show create database 数据库名
- 查看数据库的创建字符编码(不是utf8可能会出现乱码)
-
-
删除数据库
- drop delete demo;
3.python
检查python的版本(可以用做兼容性检查和调试)
form sys import version_info #从sys里导入version_info模块
if version_info.major == 2; #使用version_info.major判断
print("py2")
elif version_info.major == 3;
print("py3")
format输出
"我得名字:{},我得年龄{}".format(name,age)
"我得名字:{n},我得年龄{a}".format(n=name,a=age)
"我得名字:{0},我得年龄{1}".format(name,age)
判断为False的情况
空的字符串 空的元组 空的字典 0 0.0 空值:None 空的集合
字符串索引想反向切片
倒序字符串
result = str[::-1]
查看某个对象里保存的方法
dir(str)
判断一个数据是不是可以迭代的对象
from collection import Iterable
print(isinstance("123",Iterable))
返回:
True
> 枚举
for index,value in enumerate(Iterable)
字符串
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-unGZckuR-1599789911636)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20200907095351047.png)]
Python中三个引号包起来如果被引用也是字符串(多行字符串) 如果未被赋值或者引用就是多行注释
列表增删查改
添加
- 在末尾追加数据
- list.append(i)(追加到末尾)
- 在指定的位置插入数据
- list.insert(索引,数据)
- 如果添加一个集合 那会把整个集合变成一个数据来添加进列表中
- 合并数据
- list.extend(list2)
修改
- list[索引]=值(变量)
删除
-
list.remove(‘值’)
-
list.pop(索引值) 不填索引默认删除最后一个元素
-
del list[索引] 根据索引来删除
-
list.clear()调用这个方法的话 会清空列表
计数
- list.count(‘元素’) 判断list里有多少个这样的元素
元组
- 元组tuple = (‘1’,‘圣诞节’,‘试读’)
- 和列表一样的 只不过不能进行修改
- 如果元组里有一个数据 里面追加了集合(列表/字典)这类的可修改的多个数据 那是可以修改的
- 可以用索引来找到第二层来修改
字典
-
dict.clear() 清空字典
-
判断有没有一个key
-
‘name’ in dict (那key名)
-
通过keys()可以拿到dict里的所有的key
-
values()可以拿到所有的值
-
通过items()可以拿到key和value以列表 包元组的方式
-
可以直接遍历字典
for key , value in dict.items(): print(key,value)
创建集合和字典一样是没有索引的
my_set = {1,4,'abc','hello' } 创建一个集合
my_set = set() #创建一个空的集合
往集合添加数据
- my_set.add(“数据”) 会随机添加到其中的位置
- 集合中是不能有重复的数据的(可以去重)然后用list(my_set)来转化为list