一、创建表
-- TIMESTAMP类型
field_name TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -- 插入和更新操作自动更新时间(默认)
field_name TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- 插入操作自动更新时间
field_name TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP -- 更新操作自动更新时间
-- 添加外键
foreign key(field1_name) references table_name(field2_name)
二、修改表
1.字段
alter table user CHANGE u_id u_id int AUTO_INCREMENT; -- 加入自动增加(修改字段的名称和类型)
ALTER TABLE table_name ADD field_name field_type; -- 添加字段
2.修改主键
alter table table_name add primary key(field_name); -- 添加主键
alter table table_name drop primary key; -- 删除主键
3.修改外键
alter table table1_name add constraint key_id foreign key(field2_name) REFERENCES table2_name(field2_name); -- 添加外键
ALTER TABLE table_name DROP FOREIGN KEY key_id; -- 删除外键
4.索引
alter table table_name add index 索引名 (field1_name[,field2_name …]); -- 添加索引
alter table table_name add unique 索引名 (field_name); -- 加唯一限制条件的索引
5.自增
alter table table_name modify field_name int auto_increment; -- 加入自动增加
alter table table_name modify field_name int; -- 删除自增(设置字段的默认值为空)
5.表
TABLE table_name RENAME TO new_table_name -- 修改表名
6.查询
正则模式:
- “.”匹配任何单个的字符。(单字节字符)
- 字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”,“b”或“c”。
“[a-z]”匹配任何小写字母,而“[0-9]”匹配任何数字。 - “ * ”匹配零个或多个在它前面的东西。例如,“x”匹配任何数量的“x”字符,“[0-9]”匹配的任何数量的数字,而“.*”匹配任何数量的任何东西。
- 正则表达式是区分大小写的,但是如果你希望,你能使用一个字符类匹配两种写法。例如,“[aA]”匹配小写或大写的“a”而“[a-zA-Z]”匹配两种写法的任何字母。
- 为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”。
将会把u_name为“张三”,“张猫三”等等以“三”结尾的记录全找出来。 - 你也可以使用“{n}”“重复n次”操作符重写先前的查询:
FROM [user] WHERE u_name REGEXP ‘b{2}$';
注意:如果是中文字符,可能在使用时需要注意一下。 - select*from user where u_name regexp "y{2,3}";