最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL學(xué)習(xí)筆記之?dāng)?shù)據(jù)定義表約束,分頁(yè)方法總結(jié)

 更新時(shí)間:2016年09月14日 09:00:40   作者:hbiao68  
這篇文章主要介紹了MySQL學(xué)習(xí)筆記之?dāng)?shù)據(jù)定義表約束,分頁(yè)方法,結(jié)合實(shí)例形式總結(jié)分析了數(shù)據(jù)定義、主鍵、外鍵、自增長(zhǎng)、約束等概念與用法,并給出了關(guān)于分頁(yè)的實(shí)例與相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了MySQL學(xué)習(xí)筆記之?dāng)?shù)據(jù)定義表約束,分頁(yè)方法。分享給大家供大家參考,具體如下:

1. primary key 主鍵

特點(diǎn):主鍵是用于唯一標(biāo)識(shí)一條記錄的約束,一張表最多只能有一個(gè)主鍵,不能為空也不能重復(fù)

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 自增長(zhǎng)

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 唯一約束

特點(diǎn):表的某列值不能重復(fù),可以添加重復(fù)的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,并且可以多個(gè)

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表的列默認(rèn)情況下可以為null,如果不允許某列為空則可以使用not null說(shuō)明

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 外鍵

從理論上說(shuō)先建立主表,再建立從表

雇員表:

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)

總結(jié):

① 外鍵只能指向主表的主見列或者unique
② 外鍵的數(shù)據(jù)類型應(yīng)該與它指向的列類型一致
③ 外鍵的值: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 分頁(yè)

基本語(yǔ)法:

select * from 表明 where 條件 limit 從第幾條取,取出幾條
mysql 是從第0條開始取數(shù)據(jù)

mysql> select * from student;
+------+--------+---------+---------+------+
| id  | name  | chinese | english | math |
+------+--------+---------+---------+------+
|  1 | 張小明   |   89 |   78 |  90 |
|  2 | 李進(jìn)    |   67 |   98 |  56 |
|  3 | 王五    |   87 |   78 |  77 |
|  4 | 李一   |   88 |   98 |  90 |
|  5 | 李來(lái)財(cái)    |   82 |   84 |  67 |
|  6 | 張進(jìn)寶   |   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)

按照語(yǔ)文成績(jī)排序,查處第3條到第5條

mysql> select * from student order by chinese desc limit 3,2;
+------+--------+---------+---------+------+
| id  | name  | chinese | english | math |
+------+--------+---------+---------+------+
|  5 | 李來(lái)財(cái)    |   82 |   84 |  67 |
|  7 | 張小明   |   75 |   65 |  30 |
+------+--------+---------+---------+------+
2 rows in set (0.00 sec)

擴(kuò)展,分頁(yè):pageNow , pageSize

select * from 表明 where 條件 [group by … having … order by …]limit 從第幾條取,取出幾條
select * from 表明 where 條件 [group by … having … order by …]limit (pageNow-1)*pageSize, pageSize

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL索引操作技巧匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》、《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

相關(guān)文章

  • 詳解數(shù)據(jù)庫(kù)連接的URL的寫法及總結(jié)

    詳解數(shù)據(jù)庫(kù)連接的URL的寫法及總結(jié)

    這篇文章主要介紹了詳解數(shù)據(jù)庫(kù)連接的URL的寫法及總結(jié)的相關(guān)資料這里提供了四種方法1、oracle.2、MySQL.3、SQL Server.4、DB2,需要的朋友可以參考下
    2017-07-07
  • MySQL多表聯(lián)查的實(shí)現(xiàn)思路

    MySQL多表聯(lián)查的實(shí)現(xiàn)思路

    數(shù)據(jù)庫(kù)應(yīng)用在我們的生活中是很常見的,在編輯一些應(yīng)用以及軟件的時(shí)候都需要用到數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于MongoDB中實(shí)現(xiàn)多表聯(lián)查的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • mysql如何取分組之后最新的數(shù)據(jù)

    mysql如何取分組之后最新的數(shù)據(jù)

    開發(fā)中經(jīng)常會(huì)遇到,分組查詢最新數(shù)據(jù)的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于mysql如何取分組之后最新的數(shù)據(jù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • Mysql中的join操作

    Mysql中的join操作

    這篇文章主要介紹了Mysql join操作的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • MySQL主從復(fù)制搭建流程分步實(shí)現(xiàn)

    MySQL主從復(fù)制搭建流程分步實(shí)現(xiàn)

    這篇文章主要介紹了MySQL的主從復(fù)制原理詳細(xì)分析,讀寫分離是基于主從復(fù)制來(lái)實(shí)現(xiàn)的。文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-11-11
  • 在centos7下安裝和部署java8和mysql

    在centos7下安裝和部署java8和mysql

    一般學(xué)習(xí)java和部署項(xiàng)目都是在本地部署,但是生產(chǎn)環(huán)境一般都是在linux環(huán)境下,部署和安裝環(huán)境都是在控制臺(tái)下進(jìn)行操作的,沒有windows的可視化的操作界面,對(duì)與linux的命令掌握和操作對(duì)小白來(lái)說(shuō)都是一個(gè)個(gè)挑戰(zhàn),記錄下自己的安裝配置過(guò)程
    2017-04-04
  • SQL面試題:求時(shí)間差之和(有重復(fù)不計(jì))

    SQL面試題:求時(shí)間差之和(有重復(fù)不計(jì))

    這篇文章主要介紹了SQL面試題:求時(shí)間差之和(有重復(fù)不計(jì)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • win10下mysql 8.0.12 安裝及環(huán)境變量配置教程

    win10下mysql 8.0.12 安裝及環(huán)境變量配置教程

    這篇文章主要為大家詳細(xì)介紹了MySQL8.0的安裝、配置、啟動(dòng)服務(wù)和登錄及配置環(huán)境變量,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 分組查詢GROUP BY的使用與SQL執(zhí)行順序的講解

    分組查詢GROUP BY的使用與SQL執(zhí)行順序的講解

    今天小編就為大家分享一篇關(guān)于分組查詢GROUP BY的使用與SQL執(zhí)行順序的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • MySQL主從復(fù)制延遲原因以及解決方案

    MySQL主從復(fù)制延遲原因以及解決方案

    這篇文章主要介紹了MySQL主從復(fù)制延遲原因以及解決方案,幫助大家更好的理解和使用數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2020-09-09

最新評(píng)論

宝兴县| 固安县| 中阳县| 石阡县| 东城区| 银川市| 武宁县| 昌宁县| 安仁县| 永康市| 饶平县| 四会市| 分宜县| 汉阴县| 三门县| 高陵县| 临泉县| 赫章县| 海原县| 康平县| 玉林市| 侯马市| 西城区| 铁岭市| 新疆| 正安县| 富锦市| 太康县| 洛川县| 辽宁省| 琼中| 锡林浩特市| 宜都市| 金华市| 丹阳市| 丹东市| 平山县| 镇安县| 金山区| 阜新| 当雄县|