Mysql基礎教程 mysql進階

Mysql數據庫主健



測試主健


查看表


mysql> SHOW TABLES;
+-----------------+
| Tables_in_maizi |
+-----------------+
| cms_cate        |
| cms_news       |
| course          |
| test1           |
| test10          |
| test11          |
| test2           |
| test3           |
| test4           |
| test5           |
| test6           |
| test7           |
| test8           |
| test9           |
| user            |
+-----------------+
15 rows in set (0.00 sec)


創建單字段主鍵


mysql> CREATE TABLE IF NOT EXISTS user1(
    -> id INT PRIMARY KEY,
    -> username VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.30 sec)


查看表結構


mysql> DESC user1;
 
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | NO  | PRI | NULL   |       |
| username | varchar(20) | YES  |    | NULL  |       |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)


查看創建表的標的定義


mysql> SHOW CREATE TABLE user1;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                     |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------+
| user1 | CREATE TABLE `user1` (
  `id` int(11) NOT NULL,
  `username` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.02 sec)


插入記錄,只要主鍵的值不重復就不會報錯


mysql> INSERT user1 VALUES(1,'king');
Query OK, 1 row affected (0.07 sec)


mysql> INSERT user1 VALUES(13,'QUEEN');
Query OK, 1 row affected (0.03 sec)


查詢輸入記錄


mysql> SELECT * FROM user1;
+----+----------+
| id | username |
+----+----------+
|  1 | king     |
| 13 | QUEEN    |
+----+----------+
2 rows in set (0.00 sec)


再插入一條記錄,主鍵重復就會報錯


mysql> INSERT user1 VALUES(13,'QUEEN');
ERROR 1062 (23000): Duplicate entry '13' for key 'PRIMARY'


查詢第一條記錄


mysql> SELECT * FROM user1 WHERE id=1;
+----+----------+
| id | username |
+----+----------+
|  1 | king     |
+----+----------+
1 row in set (0.00 sec)


創建多字段主鍵


mysql> CREATE TABLE IF NOT EXISTS user2(
    -> id INT,
    -> username VARCHAR(20),
    -> card CHAR(18),
    -> PRIMARY KEY(id,card)
    -> );
Query OK, 0 rows affected (0.23 sec)


查看表結構


mysql> DESC user2;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | NO   | PRI | 0       |       |
| username | varchar(20)  | YES  |    | NULL    |       |
| card     | char(18)    | NO   | PRI |         |       |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)


插入記錄


mysql> INSERT user2 VALUES(1,'king','111');
Query OK, 1 row affected (0.05 sec)

 

mysql> SELECT * FROM user2;
+----+----------+------+
| id | username | card |
+----+----------+------+
|  1 | king     | 111  |
+----+----------+------+
1 row in set (0.00 sec)


插入1—122


mysql> INSERT user2 VALUES(1,'queen','112');
Query OK, 1 row affected (0.06 sec)


mysql> SELECT * FROM user2;
+----+----------+------+
| id | username | card |
+----+----------+------+
|  1 | king     | 111  |
|  1 | queen   | 112  |
+----+----------+------+
2 rows in set (0.00 sec)


再插入1—112就會報錯


mysql> INSERT user2 VALUES(1,'queen','112');
ERROR 1062 (23000): Duplicate entry '1-112' for key 'PRIMARY'


查看USor2的主鍵


mysql> SHOW CREATE TABLE user2;
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                               |
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| user2 | CREATE TABLE `user2` (
  `id` int(11) NOT NULL DEFAULT '0',
  `username` varchar(20) DEFAULT NULL,
  `card` char(18) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`,`card`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)


可以省略PRIMARY也可以創建主鍵


mysql> CREATE TABLE IF NOT EXISTS user3(
    -> id INT KEY,
    -> username VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.39 sec)
mysql> DESC user3;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | NO   | PRI | NULL    |       |
| username | varchar(20) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)


用戶名來標示這條記錄也可以


mysql> CREATE TABLE IF NOT EXISTS user4(
    -> id INT,
    -> username VARCHAR(20) KEY
    -> );
Query OK, 0 rows affected (0.44 sec)


查看主鍵


mysql> DESC user4;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | YES  |     | NULL    |       |
| username | varchar(20) | NO   | PRI | NULL    |       |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)


對字段和數據進行約束,就可以通過完整性約束條件來完成,保證數據的完整性。創建主鍵亦可以無意義的字段上,整型當做主鍵用戶名也可以。



【本文由麥子學院獨家原創,轉載請注明出處并保留原文鏈接】

logo
? 2012-2016 www.jvbprd.live
蜀ICP備13014270號-4 Version 5.0.0 release20160127

免費領取價值1888元求職寶典!

客服熱線 400-862-8862

回到頂部

彩票安徽25选5 国标麻将十三张单机版 深圳门店生意赚钱吗 2019微信捕鱼赢现金 烧烤生蚝生意赚钱吗 同步器怎么赚钱 手机捕鱼大亨攻略 购物分享赚钱平台有哪些 柬埔寨兑换外币能赚钱吗 头彩娱乐苹果 游戏里当拖赚钱嘛 干早教销售赚钱吗 官方网龙江微乐麻将 年轻人除了工作怎么赚钱 唱吧里唱歌可以赚钱吗 ag捕鱼王视频 抚顺赚钱项目排行榜