最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當前位置: 首頁 - 科技 - 知識百科 - 正文

MySQL學習筆記之數(shù)據(jù)定義表約束,分頁方法總結(jié)

來源:懂視網(wǎng) 責編:小采 時間:2020-11-09 20:44:59
文檔

MySQL學習筆記之數(shù)據(jù)定義表約束,分頁方法總結(jié)

MySQL學習筆記之數(shù)據(jù)定義表約束,分頁方法總結(jié):本文實例講述了MySQL學習筆記之數(shù)據(jù)定義表約束,分頁方法。分享給大家供大家參考,具體如下: 1. primary key 主鍵 特點:主鍵是用于唯一標識一條記錄的約束,一張表最多只能有一個主鍵,不能為空也不能重復 create table user1(id int p
推薦度:
導讀MySQL學習筆記之數(shù)據(jù)定義表約束,分頁方法總結(jié):本文實例講述了MySQL學習筆記之數(shù)據(jù)定義表約束,分頁方法。分享給大家供大家參考,具體如下: 1. primary key 主鍵 特點:主鍵是用于唯一標識一條記錄的約束,一張表最多只能有一個主鍵,不能為空也不能重復 create table user1(id int p

本文實例講述了MySQL學習筆記之數(shù)據(jù)定義表約束,分頁方法。分享給大家供大家參考,具體如下:

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)

總結(jié):

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

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

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

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

您可能感興趣的文章:

  • MySQL中主鍵為0與主鍵自排約束的關(guān)系詳解(細節(jié))
  • MySQL外鍵約束常見操作方法示例【查看、添加、修改、刪除】
  • MySQL刪除有外鍵約束的表數(shù)據(jù)方法介紹
  • MySQL中的唯一性約束與NULL詳解
  • MySQL刪除表的時候忽略外鍵約束的簡單實現(xiàn)
  • MySQL 關(guān)閉子表的外鍵約束檢察方法
  • MySQL所支持的數(shù)據(jù)類型與表字段約束類型的學習教程
  • 詳解MySQL中的外鍵約束問題
  • MySQL導出所有Index和約束的方法
  • MySQL 添加、修改、刪除表的列及約束等表的定義
  • MySQL學習筆記4:完整性約束限制字段
  • mysql創(chuàng)建Bitmap_Join_Indexes中的約束與索引
  • MySQL約束類型及舉例介紹
  • 聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    MySQL學習筆記之數(shù)據(jù)定義表約束,分頁方法總結(jié)

    MySQL學習筆記之數(shù)據(jù)定義表約束,分頁方法總結(jié):本文實例講述了MySQL學習筆記之數(shù)據(jù)定義表約束,分頁方法。分享給大家供大家參考,具體如下: 1. primary key 主鍵 特點:主鍵是用于唯一標識一條記錄的約束,一張表最多只能有一個主鍵,不能為空也不能重復 create table user1(id int p
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top