MySQL的数据类型:
最近看到了python的数据库那里,于是打算试一试mysql和python的结合使用。
(1)整型:
tinyint(m):1个字节 范围(-128~127)
smallint(m):2个字节 范围(-32768~32767)
mediumint(m):3个字节 范围(-8388608~8388607)
int(m):4个字节 范围(-8388608~8388607)
bigint(n):8字节 范围±9.22*10的18次方
如果加了unsigned则代表无符号,如tinyint unsigned的范围为(0~256)。m代表select查询结果集中的显示宽度,不影响实际的取值范围。
(2)浮点:
float(m,d):8位精度(4字节)d代表小数位
double(m,d):16位精度
小数位小于原数会四舍五入
(3)定点数:decimal(m,d):m<65,d<30且d<m
(4)字符串:
char(n):固定长度,最多255个字符(结尾不能有空格,存储时会在后面加空格一直到n满)
varchar(n):可变长度,最多65535个字符
tinytext:可变长度,最多255个字符
text:可变长度,最多65535个字符
mediumtext:可变,最多2的24次方-1字符
longtext:可变,最多2的32次方-1字符
(5)二进制数据(_Blob):
1、_BLOB和_text存储方式不同,_TEXT以文本方式储存,区分大小写,二进制数据不分大小写。
2、_BLOB存储的数据只能整体读出。
3、_TEXT可以指定字符集,_BLO不用指定字符集
(6)日期时间类型:
date:日期
time:时间
datetime:日期时间
timestamp:自动存储记录修改时间
若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。
(7)数据类型的属性:
NULL:数据列可包含NULL值
NOT NULL:数据列不允许包含NULL值
DEFAULT:默认值
PRIMARY KEY:主键
AUTO_INCREMENT:自动递增,适用于整数类型
UNSIGNED:无符号
CHARACTER SET name:指定一个字符集
mysql操作:
创建数据库:
在登陆后使用:create database 数据库名 [其他选项];
删除数据库:
drop database 数据库名;
查看数据库:
使用:show databases;
选择操作的数据库:
1、(在未登录时直接指定数据库,操作:mysql -D 操作的数据库名 -h 主机名 -u 用户名 -p)感觉不常用呀。
2、在登录后使用use语句,操作:use 数据库名;选择成功后会提示Database changed(use语句可以不加分号)
创建数据库表:
使用create table 表名称(列声明):
删除数据库表:
drop table 表名称
向表中插入数据:
1、一般形式(只插入一个):insert into 表名 values(值1…);
加强版(插入2个,可以在逗号后面加入多个):insert into 表名 values (第一个值1…),(第二个值1…);
2、只插入部分数据:insert into 表名 (列1…) values (值1…);
加强版,参考第一个方法的加强版。
查询表的数据:
使用:select col名 from 表名称 [查询条件];
col名可以直接用*代替,代表查询所有内容,如果有某一个col会只显示该col下所有的成员的。
按特定条件查询:
使用:select col名 from 表名称 where 条件:
条件语句支持很多了,比如:(假如有一个表为students里面columns有name,age,gender);
1、查询年龄在21岁以上的所有人的信息:select * from students where age > 21;
2、查询名字中带有“王”字的所有人:select * from students where name like “%王%”(姓王的用“王%”,最后一个字是王的是“%王”,如果左右两边没有%的话代表名字必须是一模一样的);
3、可以在where后面加and代表是多个条件。
更新表格数据:
update 表名 set col=新值(,col2=新值) where 更新条件;
和查询类似,在where后面的条件里面可以用and连接
删除表中的数据:
delete from 表名称 where 删除条件;
alter table用于创建后对表的修改。
1、添加column:alter table 表名 add col名 数据类型 (after 某col);
括号里面是插入位置,如果没有after代表直接插到col尾部,我们看起来就是添加到最右边。
2、删除col:alter table 表名 drop col名;
3、重命名col:alter table 表名 rename 新的col名;
从别人那里学的不知道算是转载还是原创呢~,还是写转载把