– 1.主键约束 primary key
– 语法 alter table 表名 add constraint 约束名称 primary key(列名)
– 2.唯一约束
– 语法 alter table 表名 add constraint 约束名称 unique(列名)
ALTER TABLE stuinfo ADD CONSTRAINT uq_sex UNIQUE (sname)
– 3. 默认值约束 default
– 语法 alter table 表名 alter 列名 set default 值
ALTER TABLE stuinfo ALTER sex SET DEFAULT '男’ALTER TABLE stuinfo ALTER address SET DEFAULT ‘地址不详’
– 为外键表添加外键约束 foreign key
/语法 alter table 外键表名 add constraint 约束名称 foreign key(外键列) references 主键表(主键列)/
ALTER TABLE exam ADD CONSTRAINT fk_stuinfo FOREIGN KEY(eid) REFERENCES stuinfo(id)
– 联合查询
SELECT * FROM stuinfo s INNER JOIN exam e ON (s.id=e.id)
– 聚合函数
SELECT COUNT(*) FROM users WHERE username=‘张三’ AND userpassw=‘123’
----------存储过程--------------------------
/* 存储过程 procedure 输入参数 输出参数 create procedure 存储过程名称(out 参数1 类型,in 参数2 类型)
begin
sql… end
mysql从5.0开始支持存储过程 但不彻底 需要使用分隔符delimiter(相当于sqlserver中的go)
– 视图
作用:
1.防止未经许可的用户访问敏感数据
2.降低数据的复杂性
3.筛选表中的行
4.将多个物理数据库内的数据组合成一张表
CREATE VIEW v_testAS SELECT username FROM users;
CREATE VIEW v_test1ASSELECT sname 姓名,sex 性别 FROM stuinfoSELECT * FROM v_test1UPDATE v_test1 SET 性别=‘男’ WHERE 姓名=‘张三’
– 事务----------------------------------------------
/事务 transaction/
BEGIN /开启事务/
UPDATE users SET userpwd=‘transaction’ WHERE username='diu’SELECT * FROM users
COMMIT /提交事务/
ROLLBACK /回滚事务/
SELECT * FROM users
– -----分页
pageSize 每页的数据量 pageNow 当前页码
users
– 从0之后的那条数据开始往后显示2条数据
SELECT * FROM users LIMIT 2,2 – 从2之后的那条数据开始往后显示2条数据
SELECT * FROM users LIMIT 4,2 – 从4之后的那条数据开始往后显示2条数据select
select 列名 from 表名 limit pageSize*(pageNow-1),pageSize
SELECT * FROM users LIMIT 2 OFFSET 0
SELECT * FROM users LIMIT 2 OFFSET 2
SELECT * FROM users LIMIT 2 OFFSET 4 SELECT * FROM users WHERE userpassw LIKE ‘%123%’
第一次写博客,请大家多多指教!