目录
一.列类型
1. 整型
(1) Int
Int unsigned:表示无符号
int(5) zerofill:表示如果不足5位数,自动用0补齐
操作:
Insert into L1(id,uid,zid) value(1,2,3):表示插入一行,数值分别为1,2,3
(2) tinyint
相较于int,tinyint的整数范围要小很多,范围是-127-128
2. 小数
(1)格式:
decimal[(m,d)] [unsigned] [zerofill]
解释:d表示的是小数点后个数,,m是数字总个数(负号不算)
(2)操作:
Create table L2(id int not null primary key auto_increment,salary decimal(8,2));
3. 字符串
(1)char(m)
定义:定长字符串,m代表字符串的长度,最多可容纳255个字符
一般适用于:固定长度的内容,是指即使内容小于m个字符,但是也会占用m长度
(2) varchar(m)
定义:变长字符串,最多可容纳65535个字节
变长的体现在于内容小于m的时候,会按照真实数据长度存储
(3)text
用于保存变长的大字符串,最多到65535个字符。一般来说,长文本会用text类型,比如文章,新闻等
格式:列名 text
(4)严格模式
严格模式是指当你命名了一个数据类型为varchar(10)的时候,如果你的输入字符串长度大于10,那么在严格模式下就会报错,但是在非严格模式下它会自动截断。
4. 时间
(1)datetime
(2)timestamp
两者的区别:
(1)datetime的默认值为null;timestamp默认不为空,默认值为当前时间。
(2)datatime使用8字节的存储空间,timestamp的存储空间为当前时间
操作:
Show variablea like '%time_zone%';用于显示时间的显示系统,比如CST,是指China Standard Time UT+8:00
小知识:如何查看表中数据?
Select * from 表名;
二. python操作数据库
cursor.execute("use db4");
sql= '''
create table L4(
)
'''
三. 内置客户端操作之对表的操作
1.新增数据
insert into 表名(列名,列名,列名),values(对应列的值,对应列的值,对应列的值)
2.删除数据
delete from 表名 where 条件
3.修改数据
update 表名 set 列名=值 where id=1;
update tb1 set name=concat(name,'123') where id=2;
4. 查看数据
select * from 表名;
四. python操作应用与实例
五. SQL注入
定义:程序员没有遵循代码与数据分离原则,使用户数据作为代码执行,就会使得本不是该账户的用户登入从而对于该账户的信息进行非法操作