mysql分页概念_MySQL学习笔记之数据定义表约束,分页方法总结

本文实例讲述了MySQL学习笔记之数据定义表约束,分页方法。分享给大家供大家参考,具体如下:

1. primary key 主键

特点:主键是用于唯一标识一条记录的约束,一张表最多只能有一个主键,不能为空也不能重复

create table user1(id int primary key,name varchar(32));

mysql> insert into user1 values(1,'hb');

Query OK, 1 row affected (0.10 sec)

mysql> insert into user1 values(1,'hb');

ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'

mysql> insert into user1 (name) values('hb');

ERROR 1364 (HY000): Field 'id' doesn't have a default value

2. auto_increament 自增长

mysql> create table user2(id int primary key auto_increment,name varchar(34));

mysql> insert into user2 (name ) values ("name1");

Query OK, 1 row affected (0.09 sec)

mysql> insert into user2 (name ) values ("name2");

Query OK, 1 row affected (0.05 sec)

mysql> insert into user2 (name ) values ("name3");

Query OK, 1 row affected (0.13 sec)

mysql> select * from user2;

+----+-------+

| id | name |

+----+-------+

| 1 | name1 |

| 2 | name2 |

| 3 | name3 |

+----+-------+

3. unique 唯一约束

特点:表的某列值不能重复,可以添加重复的NULL

create table user3(id int primary key auto_increment,name varchar(34) unique);

mysql> create table user3(id int primary key auto_increment,name varchar(34) unique);

Query OK, 0 rows affected (0.39 sec)

mysql> insert into user3 (name ) values ("name3");

Query OK, 1 row affected (0.11 sec)

mysql> insert into user3 (name ) values ("name3");

ERROR 1062 (23000): Duplicate entry 'name3' for key 'name'

允许插入null,并且可以多个

mysql> insert into user3 (name ) values (null);

Query OK, 1 row affected (0.12 sec)

mysql> insert into user3 (name ) values (null);

Query OK, 1 row affected (0.12 sec)

mysql> select * from user3;

+----+-------+

| id | name |

+----+-------+

| 3 | NULL |

| 4 | NULL |

| 1 | name3 |

+----+-------+

4. not null

mysql表的列默认情况下可以为null,如果不允许某列为空则可以使用not null说明

create table user4 (id int primary key auto_increment,name varchar(32) not null);

mysql> insert into user4 (name) values(null);

ERROR 1048 (23000): Column 'name' cannot be null

5. foreign key 外键

从理论上说先建立主表,再建立从表

雇员表:

create table dept(id int primary key , name varchar(32));

部门表:

create table emp(

id int primary key ,

name varchar(32),

deptid int,

constraint myforeignkey foreign key(deptid) references dept(id)

);

mysql> select * from dept;

+----+-------+

| id | name |

+----+-------+

| 1 | name1 |

+----+-------+

1 row in set (0.00 sec)

mysql> insert into emp values(1,'aaa',1);

Query OK, 1 row affected (0.22 sec)

mysql> insert into emp values(1,'aaa',2);

ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'

mysql> insert into emp values(1,'aaa',null);

ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'

mysql> insert into emp values(2,'aaa',null);

Query OK, 1 row affected (0.13 sec)

mysql> select * from emp;

+----+------+--------+

| id | name | deptid |

+----+------+--------+

| 1 | aaa | 1 |

| 2 | aaa | NULL |

+----+------+--------+

2 rows in set (0.00 sec)

总结:

① 外键只能指向主表的主见列或者unique

② 外键的数据类型应该与它指向的列类型一致

③ 外键的值:NULL 或者 指向列中存在的值

④ 外键可以指向本表的主键列或者unique

mysql 不支持check

create table user99(age int check(age>13));

mysql> create table user99(age int check(age>13));

Query OK, 0 rows affected (0.19 sec)

mysql> insert into user99 values(99);

Query OK, 1 row affected (0.04 sec)

mysql> select * from user99;

+------+

| age |

+------+

| 99 |

+------+

mysql 分页

基本语法:

select * from 表明 where 条件 limit 从第几条取,取出几条

mysql 是从第0条开始取数据

mysql> select * from student;

+------+--------+---------+---------+------+

| id | name | chinese | english | math |

+------+--------+---------+---------+------+

| 1 | 张小明 | 89 | 78 | 90 |

| 2 | 李进 | 67 | 98 | 56 |

| 3 | 王五 | 87 | 78 | 77 |

| 4 | 李一 | 88 | 98 | 90 |

| 5 | 李来财 | 82 | 84 | 67 |

| 6 | 张进宝 | 55 | 85 | 45 |

| 7 | 张小明 | 75 | 65 | 30 |

+------+--------+---------+---------+------+

7 rows in set (0.05 sec)

mysql> select * from student limit 2,2;

+------+------+---------+---------+------+

| id | name | chinese | english | math |

+------+------+---------+---------+------+

| 3 | 王五 | 87 | 78 | 77 |

| 4 | 李一 | 88 | 98 | 90 |

+------+------+---------+---------+------+

2 rows in set (0.00 sec)

按照语文成绩排序,查处第3条到第5条

mysql> select * from student order by chinese desc limit 3,2;

+------+--------+---------+---------+------+

| id | name | chinese | english | math |

+------+--------+---------+---------+------+

| 5 | 李来财 | 82 | 84 | 67 |

| 7 | 张小明 | 75 | 65 | 30 |

+------+--------+---------+---------+------+

2 rows in set (0.00 sec)

扩展,分页:pageNow , pageSize

select * from 表明 where 条件 [group by … having … order by …]limit 从第几条取,取出几条

select * from 表明 where 条件 [group by … having … order by …]limit (pageNow-1)*pageSize, pageSize

希望本文所述对大家MySQL数据库计有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Centos7 开机启动汇总

CentOS 7上配置MySQL5.7开机自启动方法 centos7: vsftpd安装及启动: ftp配置 centos7 rabbitmq开机启动 systemctl enable rabbitmq-server.service

亚马逊计划明年推出云游戏服务,紧追微软谷歌;华为GaussDB数据库推出双分布式架构;腾讯擎天5G智慧灯杆助智慧城市服务升级……...

戳蓝字“CSDN云计算”关注我们哦!嗨,大家好,重磅君带来的【云重磅】特别栏目,如期而至,每周五第一时间为大家带来重磅新闻。把握技术风向标,了解行业应用与实践,就交给我重磅君吧!重…

万豪数据泄漏门再敲警钟 酒店集团7步安全建议

​​11月30日,万豪酒店官方发布消息称,多达5亿人次预订喜达屋酒店客人的详细个人信息可能遭到泄露。万豪国际在调查过程中了解到,自2014年起即存在第三方对喜达屋网络未经授权的访问,但公司直到2018年9月才第一次收到警报。 万豪…

MySQL工具名字_MySQL客户端工具及SQL讲解

1、用于数据库的连接管理#MySQL接口自带的命令\h 或 help 或? 查看帮助\G 格式化查看数据(key:value)\T 或 tee 记录日志\c(5.7可以ctrlc) 结束命令\s 或 status 查看状态信息\. 或 source 导入SQL数据 \u或 use 使用数据库\q 或 exit 或 quit 退出help命…

SpringBoot2.x整合quartz定时任务 快速入门

文章目录1. maven依赖2. QuartConfig配置文件3. 创建一个业务处理类UserService4. Job类 调用方法5. 手动将对象注入导视牌SringIOC容器类6. 启动类加注解1. maven依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-bo…

八年技术加持,性能提升10倍,阿里云HBase 2.0首发商用

阿里云HBase 2.0成长手记&#xff0c;含着金汤匙出身 HBase本身是一个分布式存储、数据库引擎&#xff0c;可以支持千万的QPS、PB级别的存储&#xff0c;这些都已经在生产环境验证&#xff0c;并且在阿里得以验证。 早在2010年开始&#xff0c;阿里巴巴集团开始研究并把HBase…

不得不看之跳槽加薪利器:2019需求最旺盛的十大IT技能

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 新技术 新商业责编&#xff5c;阿秃2018年岁末&#xff0c;中国互联网IT职场掀起一股裁员风暴&#xff0c;为所有的码农和IT专业人士敲响了警钟&#xff0c;要想职场顺风满帆&#xff0c;就应当及早预判热点&#xff0c;规划…

阿里云马劲:保证云产品持续拥有稳定性的实践和思考

对所有的技术人员来说&#xff0c;业务可靠性提升是一个系统工程&#xff0c;涉及网络管理、IDC管理、服务器管理、交付管理、变更管理、故障管理、监控管理、预案管理、根因分析、容量规划、容灾演练、标准化建设、集成测试、泛操作管理、权限管理、数据安全管理等方方面面&am…

(需求实战_终章) SpringBoot2.x 整合RabbitMQ

文章目录1. maven依赖2. MainConfig3. application.properties4. 发送字符串 生产者5. 发送对象 生产者6. 接收字符串客户端7. 接收对象客户端8.confirem 确认机制9. return确认机制10. MQ消息发送工具类封装11. 分布式id12. 时间工具类13. 对象1. maven依赖 <dependency>…

lnmp 修改mysql密码_Lnmp下修改mysql根密码

今天帮兄弟安装了一个新的lnmp环境&#xff0c;安装后才发现mysql的根密码不是兄弟想要的密码&#xff0c;如是在建站前把根密码快快改了。 首先登陆phpmyadmin&#xff0c;选择mysql数据库,之后选sql选项卡&#xff0c;输入如下代码到命令框&#xff0c;之后点右下角的执行按钮…

实战:基于 Spring 的应用配置如何迁移至阿里云应用配置管理 ACM

最近遇到一些开发者朋友&#xff0c;准备将原有的Java Spring的应用配置迁移到 阿里云应用配置管理 ACM 中。迁移过程中&#xff0c;遇到不少有趣的问题。本文将通过一个简单的样例来还原迁移过程中遇到的问题和相关解决思路&#xff0c;以期达到和读者交流的目的。 什么样的配…

华为豪投20亿!3年培养100万AI人才,网友不服!

近日&#xff0c;华为20亿奖励员工的新闻频频刷屏。其中20亿奖金不是面向所有的华为员工&#xff0c;20亿奖金包涉及到的是研发体系、造AI芯片和建设生态的员工。从5G开始部署以来&#xff0c;华为获得了来自全球各地运营商的订单&#xff0c;签订了40多个5G商用合同。另外华为…

mysql 5.7 hint_新特性解读 | MySQL 8.0 新增 HINT 模式

在开始演示之前&#xff0c;我们先介绍下两个概念。概念一&#xff0c;数据的可选择性基数&#xff0c;也就是常说的cardinality值。查询优化器在生成各种执行计划之前&#xff0c;得先从统计信息中取得相关数据&#xff0c;这样才能估算每步操作所涉及到的记录数&#xff0c;而…

RAM SSO功能重磅发布 —— 满足客户使用企业本地账号登录阿里云

阿里云RAM (Resource Access Management)为客户提供身份与访问控制管理服务。使用RAM&#xff0c;可以轻松创建并管理您的用户&#xff08;比如雇员、企业开发的应用程序&#xff09;&#xff0c;并控制用户对云资源的访问权限。 对云资源的信息安全保护与风险控制能力是企业成…

SpringBoot 整合Shiro Ehcache

文章目录依赖 <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><mybatis.sprin…

SQLServer AlwaysOn在阿里云的前世今生

缘起 早在2015年的时候&#xff0c;随着阿里云业务突飞猛进的发展&#xff0c;SQLServer业务也积累了大批忠实客户&#xff0c;其中一些体量较大的客户在类似大促的业务高峰时RDS的单机规格&#xff08;规格是按照 内存CPUIOPS 一定比例分配&#xff0c;根据底层资源不同都会有…

构建企业数字化转型协同力有多难?青云发布workly.ai誓要解决这些棘手的问题!...

戳蓝字“CSDN云计算”关注我们哦&#xff01;相信大部分人都经历过办公中的手忙脚乱与无所适从&#xff0c;每天面对无数的任务与工作本就是一项挑战&#xff0c;而在办公中面对不同终端协同工具&#xff0c;所带来的那些令人头疼的密码、来不及回复的信息与邮件、繁琐的办公流…

docker无法连接mysql镜像_关于Docker官方CentOS镜像无法启动mysqld的总结

很多童鞋反映&#xff0c;在Docker官方CentOS镜像中安装了Mysql server后&#xff0c;无法正常启动。无法正常启动表现为两种情况&#xff1a;1> 初始完数据库后&#xff0c;mysqld启动报错2> systemctl start mysqld或者service mysqld start报错首先重现一下现场。第一…

阿里云高级技术专家带你全面了解云主机性能评测

钱超&#xff0c;花名西邪&#xff0c;阿里云高级技术专家&#xff0c;超12年老阿里&#xff0c;是云主机性能领域的知名专家。 在目前的云计算测评领域&#xff0c;很多性能测评存在营销的包装&#xff0c;容易引起误导&#xff1a;比如用瞬时性能引导读者得出结论&#xff0…

RabbitMQ控制台详解

文章目录属性说明overview→Totals所有队列的阻塞情况Ready待消费的消息总数Unacked待应答的消息总数Total总数 ReadyUnacked 属性说明Publishproducter pub消息的速率Publisher confirmbroker确认pub消息的速率Deliver(manual ack)ustomer手动确认的速率Deliver( auto ack)cu…