Mysql基础第四天

union(将查询结果做并集,就是将不相干的表拼接在一起,列的数量需要相同)

select ename, job from emp where job = 'xxx'
union
select ename, job from emp where job = 'yyy';

limit(分页查询):

  • mysql特有,不通用(oracle有相同机制,叫rownum)
  • 取结果集中的部分数据
  • 语法机制:limit startIndex,length(startIndex表示起始位置,length表示取几个)
  • 是sql语句最后执行的环节
例:
select ename, sal from emp order by sal desc limit 0, 5;
limit后直接写5也可以,表示从0开始

select		5
	...
from		1
	...
where		2
	...
group by	3
	...
having		4
	...
order by	6
	...
limit		7
	...;

通用的标准分页sql:

  • 每页显示3条记录
    第一页:0,3
    第二页:3,3
    第三页:6,3
    第四页:9,3

    第pageNo页:(pageNo-1)*pageSize,pageSize

创建表:

  • 建表语句的语法:
create table 表名(
	字段名1 数据类型,
	字段名2 数据类型,
	字段名3 数据类型,
	...
	);
  • mysql中常见的字段数据类型:
    int:整数
    bigint:长整数
    float:浮点数
    double:小数
    char:定长字符串(指定长度)
    varchar:可变长字符串,最多255个字符
    date:日期
    BLOB:二进制大对象(binary large object存储图片视频等流媒体信息)
    CLOB:字符大对象(character large object存储大文本)
  • 表名一般以t_或tbl_开始
create table t_student(
	no bigint,
	name varchar(255),
	sex char(1) default 1,
	classno varchar(255),
	birth char(10)
	);
  • 在表中插入数据:
    insert语句:
    insert into 表名(字段名1,字段名2,字段名3,…) values(值1,值2,值3,…)
insert into t_student(no, name, sex, classno, birth) values(1, 'yang', '1', '1 ban', '1996-10-19');

省略t_student后面的括号,values里面的顺序就要严格按照表格顺序,列的数量也要相同:
insert into t_student values();

一次插入多行数据,用逗号隔开:
insert into t_student values(), ();
  • 删除表格:
drop table if exists t_student;
  • 表的复制:
将查询结果当作表创建出来:
create table 表名 as select语句;

将查询结果插入表:
insert into 表名 select语句;
  • 修改表中的数据:
update 表名 set 字段名1 =1, 字段名2 =2, ... where 条件;
没有条件则整张表全部更新

例:
update dept1 set loc = 'shanghai', dname = 'population' where deptno = 10;
  • 删除数据:
    delete不释放空间,可以回滚,效率低
delete from 表名 where 条件;
没有条件全部删除
  • 删除大表(数据量特别大的表):
    truncate释放空间,不能回滚,永久丢失,效率高
truncate table 表名;
  • 增删改查:
    CRUD
    create:增
    retrieve:检索
    update:改
    delete:删

约束(constraint):
在创建表的时候,可以对表的字段添加约束,保证数据的完整性,合法性,有效性

常见的约束:

  • 唯一性约束(unique):字段不能重复
  • 非空约束(not null):字段不能为空
  • 主键约束(primary key):即不能为空,也不能重复
  • 外键约束(foreign key)
  • 检查约束(check,Oracle数据库有,但MySQL不支持)

非空约束 not null:

drop table if exists t_user;
create table t_user(
	id int,
	username varchar(255) not null,
	password varchar(255)
	);
insert into t_user(id, username, password) values(1, 'yang', '123');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值