Mysql - 使用入门 (11)

日期和时间类型

类型名称 日期格式 日期范围 存储需求
YEAR   YYYY   1901 ~ 2155   1 个字节  
TIME   HH:MM:SS   -838:59:59 ~ 838:59:59   3 个字节  
DATE   YYYY-MM-DD   1000-01-01 ~ 9999-12-3   3 个字节  
DATETIME   YYYY-MM-DD HH:MM:SS   1000-01-01 00:00:00 ~ 9999-12-31 23:59:59   8 个字节  
TIMESTAMP   YYYY-MM-DD HH:MM:SS   1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC   4 个字节  

字符串类型

类型名称 说明 存储需求
CHAR(M)   固定长度非二进制字符串   M 字节,1<=M<=255  
VARCHAR(M)   变长非二进制字符串   L+1字节,在此,L< = M和 1<=M<=255  
TINYTEXT   非常小的非二进制字符串   L+1字节,在此,L<2^8  
TEXT   小的非二进制字符串   L+2字节,在此,L<2^16  
MEDIUMTEXT   中等大小的非二进制字符串   L+3字节,在此,L<2^24  
LONGTEXT   大的非二进制字符串   L+4字节,在此,L<2^32  
ENUM   枚举类型,只能有一个枚举字符串值   1或2个字节,取决于枚举值的数目 (最大值为65535)  
SET   一个设置,字符串对象可以有零个或 多个SET成员   1、2、3、4或8个字节,取决于集合 成员的数量(最多64个成员)  

二进制类型

类型名称 说明 存储需求
BIT(M)   位字段类型   大约 (M+7)/8 字节  
BINARY(M)   固定长度二进制字符串   M 字节  
VARBINARY (M)   可变长度二进制字符串   M+1 字节  
TINYBLOB (M)   非常小的BLOB   L+1 字节,在此,L<2^8  
BLOB (M)   小 BLOB   L+2 字节,在此,L<2^16  
MEDIUMBLOB (M)   中等大小的BLOB   L+3 字节,在此,L<2^24  
LONGBLOB (M)   非常大的BLOB   L+4 字节,在此,L<2^32  
CREATE TABLE `customers` ( `cust_id` int(11) NOT NULL AUTO_INCREMENT, `cust_name` char(50) NOT NULL, `cust_address` char(50) DEFAULT NULL, `cust_city` char(50) DEFAULT NULL, `cust_state` char(5) DEFAULT NULL, `cust_zip` char(10) DEFAULT NULL, `cust_country` char(50) DEFAULT NULL, `cust_contact` char(50) DEFAULT NULL, `cust_email` char(255) DEFAULT NULL, PRIMARY KEY (`cust_id`) ) ENGINE=InnoDB AUTO_INCREMENT=10011 DEFAULT CHARSET=utf8 17.2引擎类型 表级锁 : 只要有一个线程执行修改表中的相关操作,就会上锁,其他线程默认等待; 行级锁 : 针对于当前表中的这条记录,这一行进行上锁,其他数据仍然可以被其他线程修改,实现高并发,高可用; 事务处理: 执行sql语句时,必须所有的操作全部成功,才最终提交数据,有一条失败,直接回滚,恢复到先前状态 begin : 开启事务 commit : 提交数据 rollback : 回滚数据 MyISAM: 表级锁,全文索引 InnoDB: 事务处理,行级锁,外键 MEMORY: 同MyISAM,唯一不同的是把数据放在内存中,临时缓存; BLACKHOLE: anything you write to it disappears 一般用于同步主从数据库;(放在主数据库和从数据库之间的一台服务器;) 17.3操纵表 -- modify 只能改变数据类型 alter table 表名 modify 列名 新数据类型; -- change 改变列名+数据类型 alter table 表名 change 列名 新列名 数据类型; -- add 添加列 alter table 表名 add 列名 数据类型; -- drop 删除字段 alter table 表名 drop 列名; -- rename 更改表明 alter table 表名 rename 新表名; -- 删表 drop table 表名; 18.0使用视图

视图用create view语句来创建

CREATE VIEW productcustomers AS SELECT cust_name, cust_contact, prod_id FROM customers, orders, orderitems WHERE customers.cust_id = orders.cust_id AND orderitems.order_num = orders.order_num; select cust_name, cust_contact from productcustomers where prod_id = 'TNT2';

使用 show create view 视图名称; 来查看创建视图的语句

show create view productcustomers\G;

用drop view 视图名称; 来删除视图

drop view productcustomers\G;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzyzd.html