SQL数据表基本操作笔记

学习的时间比较久了,对数据库的基本知识有所淡忘,开此文章作为笔记,便于后续查看。

直接进入正题。

1.建立数据表

CREATE TABLE person(
person_id SMALLINT UNSIGNED PRIMARY KEY,
fname varchar(20),
lname varchar(20),
gender ENUM('M','F'),
birth_date DATE,
street VARCHAR(30),
city VARCHAR(20),
sate VARCHAR(30),
country VARCHAR(20)
);
其中ENUM为枚举类型,PRIMARY KEY为主键。创建完表格后,如果想确认表格是否创建,可以使用DESC命令。


create table favorite_food(
person_id SMALLINT UNSIGNED,
food VARCHAR(20),
CONSTRAINT pk_favorite_food PRIMARY KEY (person_id,food),
CONSTRAINT fk_fav_food_person_id FOREIGN  KEY (person_id)
REFERENCES person (person_id)
);
此表稍有不同,主键为联合主键,由person_id,food共同约束,同时添加了外键约束,即该表中person_id的值必须为person表中person_id存在的值。顺便补充一句,数据表有五大约束。

五大约束

1.—-主键约束(Primay Key Coustraint) 唯一性,非空性

 2.—-唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个

 3.—-检查约束 (Check Counstraint) 对该列数据的范围、格式的限制(如:年龄、性别等)

 4.—-默认约束 (Default Counstraint) 该数据的默认值

 5.—-外键约束 (Foreign Key Counstraint) 需要建立两表间的关系并引用主表的列

2.插入数据

insert 语句主要由3个部分组成:

  • 1.要插入的数据表的名称;
  • 2,要插入的列的名称;
  • 3.要插入到列的值;
简单例子如下:

insert into person 
(person_id,fname,lname,gender,birth_date) 
values (1,'william','Turner','M','1994-06-19' )
要注意的是需满足上面提到的几大约束(主键值不能相同,非空属性,不能超出默认范围等,如果每列都插值,列名可略去不写。)

3.更新数据(注意为更新表中内容,与更新表格不同)

update person 
set street ='122 TREMONT ST',
city='Boston',
country='USA'
where person_id = 1;
4.查找数据
select person_id,fname,lname,birth_date
from person
where person_id=1;
5.删除数据

delete from person
where person_id = 1;

6.一些可能导致错误的语句

 1.主键不唯一;

 2.不存在的外键;

 3.列值不合法;

4.无效的日期转换;

 ...

其实出错的情况大多就是因为没有满足数据表的五大约束。




发布了11 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/DJ_xiaoming/article/details/79076219