-
mysql使用注意事项
-
除非把字符|括在一个集合中,否则他将应用于整个串
-
[]也可以被否定,只需要再最开始放一个^即可
-
ex:
[^123]
将不匹配1或2或3
-
范围匹配[0-9]
-
对于正则表达式里已经定义过的特殊字符,如果想要匹配,必须用\为前导,(也需要转义
\\-
表示查找-
-
-
字符类
- [:alnum:]任意字母和数字
- [:alpha:]人以字母
- [:blank:]空格和制表
- [:cntrl:]ASCII控制字符
- [:digit:]任意数字
- [:print:]任意可打印字符
- [:graph:]比print少一个空格
- [:lower:]小写字母,相当应还有大写
- [:punct:]不在alnum不在cntrl任意字符
- [:xdigit:]16进制数
- 注意上面使用的时候还要加上一个[]
- 比如说匹配连在一起出现的4个数字
- [[:digit:]]{4}
-
重复元字符
- * 0个或者多个匹配
- + 1个或多个匹配
- ? 0个或1个匹配
- {n}指定数目的匹配
- {n,}不少于指定数目的匹配
- {n,m}匹配数目的范围
-
定位符
- ^文本的开始
- $文本的结尾
- [[:<:]]词的开始
- [[:>:]] 词的结束
-
注意^有两种用途,如果在[]中表示否定该集合,否则指定串的开始处
-
-
计算字段
- 拼接Concat()
- 把多个串连接起来形成一个长串
- 每个串之间用逗号分隔开
- Concat(vend_name,‘C’,vend_country,’)’)
- RTrim()删除空格
- RTrim(vend_name)这在输出的时候将会把vend_name右边的所有空格删掉
- 同理还有Trim(),LTrim()
- 使用别名
- 可以在Concat语句完成后加上一个AS name把这个输出的表明变成name
- 算数计算
- 可以在select的时候直接进行算数运算
- 比如说A*B,直接把两个列名相乘
- 有+ - * /算数运算符
- 拼接Concat()
drop schema <schema_name> <cascade|restrict>;
#其中cascade和restrict两者必选其一,选择了cascade级联,表示在删除模式的同时把模式中的所有数据库对象全部删除,选择restrict限制表示如果该模式中已经定义了下属的数据库对象(表,视图),则拒绝执行,只有当该模式下没有任何下属对象才执行
foreign key(cloumna_name) references table_name(column_name)
- 数据类型
- char(n),character(n)
- 长度为n的定长字符串
- varchar(n),charactervarying(n)
- 最大长度为n的变长字符串
- clob
- 字符串大对象
- blob
- 二进制大对象
- int,integer
- 长整数,4字节
- smallint
- 短整数,2字节
- bigint
- 大整数,8字节
- numeric(p,d)
- 定点数,由p位数字不包括符号,小数点组成,小数点后面有d位数字
- decimal(p,d),dec(p,d)
- 同上
- real
- 取决于机器的单精度浮点数
- double precision
- 取决于机器精度的双精度浮点数
- float(n)
- 可选精度的浮点数,精度至少为n位数字
- boolean
- 逻辑布尔值
- date
- 日期,包含年,月,日,格式为YYYY.MM.DD
- time
- 时间,包含一日的时分秒,格式为HH.MM.SS
- timestamp
- 时间戳
- interval
- 时间间隔类型
- char(n),character(n)
show search_path;
搜索路径,当前默认值位$user,public
首先搜索与用户名相同的数据库名,如果不存在,则使用public模式
DBA也可以设置搜索路径
set search_path to 'S_T',public
这样可以直接创建table,然后table会绑定在这个search_path下的数据库中
-
修改基本表
-
alter table <table_name> [add [column] <new_column_name><data type>[约束条件]] [add <表级约束>] [drop [column] <column_name> [cascade|restrict]] [drop constraint<完整性约束名>[restrict|cascade]] [alter column <column_name> <data_type>];
-
-
删除表的默认是restrict
-
建立索引
-
create [unique][CLUSTER] index <index_name> on <table_name>(<column_name>【<次序>】[,<columna_name>[<次序>]])
-
索引可以建立在表的一列或者多列,默认位ASC升序,也可以指定为DESC降序
-
-
修改索引
-
alter index <old_index_name> rename to <new_index_name>
-