MySQL学习心得

MySQL创建表:

CREATE TABLE `user` (
  `id` int NOT NULL auto_increment,
  `name` varchar(20) NOT NULL,
  `age` tinyint NOT NULL,
  `sex` char NOT NULL,
  `birth_date` date NOT NULL,
  `create_time` timestamp NOT NULL ,
  PRIMARY KEY  (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

上述创建表字段所声明的数据类型,除了varchar类型,其他都可以不进行指定,都有默认长度。

如:int 类型的进行存储,需要占用4个字节,一共32位,因此int 类型的最大长度(也是默认长度)为11,int类型有符号范围为:-2147483648~2147483648 ,无符号范围为:0~4294967295,仔细数一下数字会发现只有10个数,为什么长度会是11呢?因为少算了个符号位!

int 类型的值进行存储时,不论你指定的是 int(3),或者是 int(8),都不会影响实际进行存储的长度(占用4个字节),这里的数字只是为了声明最小显示长度,如:int i=10; 在int(3)中显示结果为:010,在int(8)中显示结果为:00000010,如果存储的数字范围超过声明的长度并且小于 int 值最大范围,则按正常显示。

char类型的值进行存储时,指定char(1),则可以存入“一个字符”而非字节,不管这个字符到底有多大,都可以存。当在Windows系统的cmd命令中插入某些汉字时,会报长度过长的异常!这个因为字符编码设置的有问题,用一些SQL工具会好一些。

varchar 类型和 char 类似, varchar 是可变的类型,char 是不可变类型,如何理解这两者之间的区别?当为 varchar 类型设置长度 varchar(10) 代表最多只能存10个字符,若小于10个字符,自动变为输入字符大小,比较灵活!char类型则是固定的,是多少就是多少,比较死板。

MySQL显示创建表的SQL语句:

show create table table_name\G;

MySQL ALTER命令:

alter table table_name drop column_name;    删除表中一个字段

alter table table_name add column_name;    添加一个字段

alter table table_name add column_name int first;    添加字段并设为第一列

alter table table_name add column_name int after other_column_name;    在另一个已存在的字段后添加新字段

alter table table_name modify column_name varchar(10);    修改字段类型

alter table table_name change old_column_name new_column_name varchar(10);    修改字段名和字段类型

alter table table_name alter column_name drop default;    删除指定字段的默认值

alter table table_name engine='MYISAM';    修改数据库引擎

show table stauts like `table_name`\G;    查看数据表类型

alter table table_name RENAME TO `new_table_name`;    修改数据库表名


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值