日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

發布時間:2024/9/27 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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數據庫計有所幫助。

總結

以上是生活随笔為你收集整理的mysql分页概念_MySQL学习笔记之数据定义表约束,分页方法总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。