mysql数据库定义语句
1、创建某数据库:create database 数据库名 【charset 编码名】【 collate 排序规则名】;说明:1,编洁船诼抨码名是用于设定当前数据库中的文本数据存储的时候,默认使用的字符编码,通常有:gbk,utf8。虽然可以省略,但 墙裂建议不要省略。显示所有可用的编码名: show charset2,collate用于设定该编码下的“排序方式”,也是一个名字,比如:gbk_bin,gbk_chinese_ci显示所有可用的排序规则名: show collation;通常不写,因为每一种编码名(字符集),都有一个默认的排序规则。什么是排序规则:就是某种字符集内的所有单个字符的一个顺序的规定!比如英文中:b>a, B>A, a > B删除某数据库:drop database 【if exists】 数据库名;修改某数据库:alter database 数据库名 【charset 新的编码名】【 collate 新的排序规则名】;可见:修改数据库,其实也就只是修改数据库的编码和排序规则而已;使用某数据库:use 数据库名;显示所有数据库名:show databases;数据类型总览
2、2.可见:数据类型分3大类:数值型,字符型,时间型;整数类型
3、3.说明:1,每一种类型所存储的数据占据的空间是固定的,而跟数据的大小无关。2,整数类型的通用写法:类型名【(显示长度)】【unsigned】 【zerofill】3,显示长度是指select出来数据时的显示长度,而跟数据大小无关。4,unsigned(无符号)用于设定该字段不可以存储负数。5,zerofill用于设定在显示长度的设定上来填充0#演示整数类型的使用:create table int_test(id int,age tinyint unsigned,f3 smallint(8) zerofill );insert into int_test values(1, 1, 1);insert into int_test values(123, 123, 123);
4、4.小数类型小数:浮点数:float:单精度浮点数:只能精确到6-7位double:双精度浮点数:能够精确到大约15位定点数:decimal:可以精确到自己设定的位数,该位数可以在0-30之间。decimal的通常设定形式为:decimal(总长度,小数点后长度)一个典型错误提示:
5、5.举例:
6、6.结果:
7、7.常见字符串类蕞瞀洒疸型字符串在“字面值”上,必须使用单引号。定长字符串:char必须设定长度,表示其设定的长度,也就是最终存储的数据长度。如果数据不足设定长度,内部会补空格填充到设定长度;唁昼囫缍这里,长度是指“字符个数”,最大能设定为255.变长字符串:varchar必须设定长度,表示其设定的长度,是该字段最长能存储的长度,如果存储的实际数据不够那么长,则就按实际数据存储。这里,长度是指“字符个数”,最大能设定为65535(理论值).长文本字符串:text不用设定长度,其默认都是65535个字节。
8、8.enum类型:枚举类型——就是多个选项中选择一个——相当于“单选项的数据值”:它确实主要用于应用中的“单选项”的数据存储。形式:enum(‘选项值1’,‘选项值2’,‘选项值3’,......)说明:1,每个选项值,都是一个字符串;2,每次存储只能存储其中一个值;3,这些选项值,在系统内部其实分别对应整数值:1,2,3,4,5,.....这样内部处理数据更高效。4,我们在操作中,也可以直接使用这个整数值;举例:
9、9.set类型:相当于“多选项的数据值”:它确实主要用于应用中的“多选项”的数据存储。形式:set(‘选项值1’,‘选项值2’,‘选项值3’,......)说明:1,每个选项值,都是一个字符串;2,每次存储都能存储其中一个或多个值,形式为:’值1,值2,值4’3,这些选项值,在系统内部其实分别对应整数值:1,2,4,8,16,32,.....这样内部处理数据更高效。4,我们在操作中,也可以直接使用这些整数值:但需要一定的运算规则。