第四章 数据库的基本操作
- 使用唯一约束
唯一约束可以确保一列或者几列不出现重复值
语法:字段名 数据类型 UNIQUE
UNIQUE和PRIMARY KEY的区别:一个表中可以有多个字段声明为UNIQUE,但是只有一个PRIMARY KEY声明;声明为PRIMARY KEY的列不允许有空值,但是声明为UNQIUE的字段允许有空值的存在。 - 设置表的属性值自动增加
为主键添加ATUO_INCREMENT关键字,初始值为1,每增加一条记录,字段值自动加1。一个表中只能有一个字段使用ATUO_INCREMENT约束,并且该字段必须为主键的一部分,约束的字段可以为任何整数类型。 - desc 表名;可以查看表结构
- ALERT TABLE 旧表名 RENAME 新表名
- 并不是每个表都可以任意选择存储引擎
外键约束不能跨引擎使用。Mysql支持多种存储引擎,每一个表都可以指定一个不同的存储引擎,但是要注意:外键约束是用来保证数据的参照完整性,如果表之间需要关联外键,却制定了不同的存储引擎,这些表之间是不能创建外键约束的。
第五章 数据类型和运算符
- 显示宽度只用于显示,并不能限制取值范围和占用空间,如,INT(3)会占用4个字节的存储空间,并且允许的最大值也不会是999,而是INT整型所允许的最大值。
- 不论是定点还是浮点类型,如果用户指定的精度超出精度范围,则会四舍五入。
- 在Mysql中,定点数以字符串形式存储,在对精度要求比较高的时候,使用DECIMAL的类型比较好。
- 日期与时间类型,插入的时候要用字符串格式,比如插入year类型 ‘1996’
- 日期的范围:1901~2155
- CHAR(M)为固定长度字符串,M长度范围是0-255所占字节始终为4,VARCHAR(M)为变长字符串,M的长度范围是0-65535,占用字节为字符串的实际长度+1。
- CHAR会自动删除插入数据的尾部空格,VARCHAR不会删除尾部空格。
- 比较运算符
- 等于运算符 =
数值比较有以下规则
- 若有一个或两个参数为NULL,则比较运算的结果为NULL。
- 若同一个比较运算中的两个参数都是字符串,则按照字符串进行比较。
- 若两个参数均为整数,则按照整数进行比较
- 若一个字符串和数字进行相等判断,则MySql可以自动将字符串转换为数字。
- 安全等于运算符 <=>,可以用来判断NULL值。
- between and 运算符
4 between 2 and 5 = 1 - least(2,0) = 0 用于返回列表中最小的值。当参数为整型或者浮点型时,least返回最小的值;当参数为字符串时,返回字母表中顺序考前的字符;当比较值列表中有NULL时,不能判断大小,返回值为null。
- greatest(value1,value2) 用于返回参数列表中的最大值,如果列表中有null,则返回null。
- in 用来判断操作数是否为in列表中的其中一个值,如果是,则返回值为1,;否则返回0。
- not in 运算符 与in含义相反。
- like 运算符用来匹配字符串,如果匹配则返回1,不匹配返回0,若表达式或匹配条件中任何一个为null,则结果为null。 “%”匹配任何数目的字符,包括零字符串。“_”只能匹配一个字符。
- recexp 用来匹配字符串
- Mysql如何使用特殊字符诸如单引号,双引号,反斜杠等符号,这些是不能直接输入的,需要使用反斜杠来转义。
- Mysql中如何执行区分大小写的字符串比较?
Mysql不区分大小写,如果想执行区分大小写的比较,就在字符串前面天机binary关键字。
- 等于运算符 =