MySQL数据库与数据表(二)

1、主键约束与唯一约束

 PRIMARY KEY     |    UNIQUE KEY
   主键约束            |     唯一约束
一张表只有一个     |  一张表可以有多个
不能为空(NULL)|  可以为空值(NULL)

mysql> CREATE TABLE tb5(
    -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    -> username VARCHAR(20) NOT NULL UNIQUE KEY,
    -> age TINYINT UNSIGNED);
Query OK, 0 rows affected (0.03 sec)
mysql> SHOW COLUMNS FROM tb5;
+----------+----------------------+------+-----+---------+----------------+
| Field    | Type                 | Null | Key | Default | Extra          |
+----------+----------------------+------+-----+---------+----------------+
| id       | smallint(5) unsigned | NO   | PRI | NULL    | auto_increment |
| username | varchar(20)          | NO   | UNI | NULL    |                |
| age      | tinyint(3) unsigned  | YES  |     | NULL    |                |
+----------+----------------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)
mysql> INSERT tb5(username,age) VALUES('Tom',22);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT tb5(username,age) VALUES('Tom',22);
ERROR 1062 (23000): Duplicate entry 'Tom' for key 'username'

2、MySQL初涉默认约束

mysql> CREATE TABLE tb6(
    -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    -> username VARCHAR(20) NOT NULL UNIQUE KEY,
    -> sex ENUM('1','2','3') DEFAULT 3);
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW COLUMNS FROM tb6;
+----------+----------------------+------+-----+---------+----------------+
| Field    | Type                 | Null | Key | Default | Extra          |
+----------+----------------------+------+-----+---------+----------------+
| id       | smallint(5) unsigned | NO   | PRI | NULL    | auto_increment |
| username | varchar(20)          | NO   | UNI | NULL    |                |
| sex      | enum('1','2','3')    | YES  |     | 3       |                |
+----------+----------------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
mysql> INSERT tb6(username) VALUES('Tom');
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM tb6;
+----+----------+------+
| id | username | sex  |
+----+----------+------+
|  1 | Tom      | 3    |
+----+----------+------+
1 row in set (0.00 sec)

3、小结


DOS 界面连接数据库 mysql -u用户名 -p密码 -hHOST
显示数据库 SHOW DATABASES;
显示表结构 SHOW COLUMNS FROM table;
显示所有表 SHOW TABLES;
进入数据库 USE 数据库;
创建数据库 CREATE DATABASE 库名;
删除库drop 库名;
创建表 CREATE TABLE 表名(字段及信息);
插入数据 INSERT INTO table []VALUES();[]为空说明插入全部的值
查询数据 SELECT COLUMNS FROM table WHERE 条件
记录删除delete from 表名 where 条件;
自增自动编号 auto_increment
主键约束 primary key(有auto_increment的一定是主键,主键不一定有auto_increment)
唯一约束 unique key
默认约束 default 当没有赋值时则自动添加默认值



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值