2020.3.31 数据库基础1

发布于 2020-03-31  15 次阅读


Table of Contents

char是提前开辟空间,速度快,空间浪费
varchar 使用时候开辟空间,速度慢一点,节省空间
BLOB和TEXT(Tiny Medium Long)
BLOB是二进制,字节串,图片音视频
TEXT是utf-8,通常是较大的文本,66535以上
enum和set
enum用来存储给出的一个值(1,2,3)选一插入
set用来存储给出值的一个或多个(1,2,3)随便选插入
对字段修饰
not null ,字段不能为空
unsign,无符号类型
default,设置列的默认值
auto_increment:一般用于主键,自增
primary key:定义列为主键,主键值不能重复
desc查看表结构
清晰的查看表结构
int(11)数字宽度
内部对其打印时候的宽度

数据基本操作

插入(insert)
(全部插入)insert into 表名 values(值1),(值2)...;值是一条记录
(部分插入)insert into 表名(字段1...) values(值1)...
更新 update
update 表名 set 值=数据,值=数据... where 条件
删除 delete
delete from 表名 where 条件
表字段操作
alter table 表名 执行动作;
添加字段 add
alter table 表名 add 字段 数据类型 [frist是第一个,after 字段,是某一个字段之后)默认是最后
删除字段 drop
alter table 表名 drop 字段名;
修改数据类型 modify
alter table 表名 modify 字段名 新数据类型
修改字段名
alter table 表名 change 旧字段名 新字段名 新数据类型
表重命名
alter table 表名 rename 新表名
查询(select)
select *|[查询的字段] from 表名 [where条件] 
(运算符)和Where结合使用
算数运算符 
加 减 乘 除 取于 (where age - 1 = 12)
比较运算符
大于> 大于等于>= 小于< 小于等于<= 等于= 不等于!= <>
[not] between 12 and 13在12和13之间
[not] in (1,2,3,4,5) 判断是否在值内
is [not] null 是否为空
不能12<age<13这么写,大多数编程语言也不可以
逻辑运算符
NOT 或! 真变假,假变真
AND 一假则假
OR 一真则真
XOR 相等则假,不等则真(一真一假)
位运算(不常用)
运算符优先级,可以加括号限定一下顺序
Limit使用
切片setp值大于小于零(改变切片顺序)
1.切片step为正,代表从左往右切(start小于stop)
2.切片setp为负,代表从右往左切(start大于stop)
切片start ,stop ,setp值为空(改变读取方式)
当step为正数,start是第一位,stop是最后一位
当step为负数,start是最后一位,stop是第一位
切片start,stop为负数(负索引读取)
start和stop都代表元素负索引
start和stop的正负可以混合使用
如果想要逆序,stop默认不算当前位置,就要负数坐标在减1
lists_num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
lists_letter = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "k"]

#2,3,4,5
print(lists_num[1:5])
#5,4,3,2
print(lists_num[-6::-1])
print(lists_num[9:-11:-1]) #[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
#10 9 8 7
# 7 8 9 10
python的列表切片,
1、方向由step确定,step为正时,从左往右切片,step为负时,从右往左切片。
2、start和stop的正值代表列表下标,负值代表列表从左往右数起,倒数第几个数据。
3、start和stop的空值分别代表列表的头尾的最后一个数据,至于start和stop空值的时候代表的是列表的头还是尾,由step的正负值决定,即由step确定列表切片的方向后决定。当step为正时,即代表从左往右切片,则start的空值代表左边的
开头,stop的空值代表右边的结尾。当step为负值时,即代表从右往左切片,则start的空值代表右边的开头,stop的空值代表左边的结尾。
当step为负时,start的空值代表

正则表达式常用函数总结

返回一个值(返回match对象
match(),
search(),
fullmatch()
返回多个值
findall() 返回一个列表
finditer() #返回迭代器
分割函数
split(pattern,string,maxsplit,flags)
用pattern分割string,maxsplit是最大分割次数,flags是常量
替换
sub(pattern,replace,string,count,flags)与subn(pattern,replace,string,count,flags)
用replace替换stirng中被匹配的内容,count是最多次数,repl可以是一个函数
编译
complex()
其他
escape(pattern) 转义正则表达式中具有特殊含义的字符
re.purge() 清除正则表达式缓存

正则表达式常用常量总结

re.I(IGNORECASE),忽略大小写
re.A(ASCII),匹配ASCII码
re.D(DOTALL),.可以代表任意字符
re.M(MULTILINE),每一行都是新的开始