Tsai笔记:MySQL学习(1)—— 基本操作
一、连接、登录和退出MySQL服务器
连接SQL | net start mysql |
登陆SQL | mysql -u root -p 输入密码 |
退出SQL | exit; |
二、连接、登录和退出MySQL服务器
三、建表约束(主键约束,自增约束,外键约束,唯一约束,非空约束,默认约束)
主键约束 primary key | create table user( id int primary key, name varchar(20)); |
联合主键 primary key() | create table user2( id int, name varchar(20), password varchar(20), primary key(id, name)); |
自增约束 auto_increment | create table user3( id int primary key auto_increment, name varchar(20)); |
添加主键 add | alter table user4 add primary key(id); |
修改主键 modify | alter table user4 modify id int primary key; |
删除主键 drop | alter table user4 drop primary key; |
唯一约束 unique | create table user5( id int, name varchar(20)); alter table add unique(name); |
添加唯一主键 add | alter table user5 add unique(id); |
添加唯一主键 modify | alter table user5 drop index name; |
删除唯一主键 drop | drop table pet; |
非空约束 not null | create table user6( id int, name varchar(20) not null); |
移除非空约束 | alter table user6 modify name varchar(20); |
默认约束 default | create table user7( id int, name varchar(20), age int default 10); |
外键约束 | create table classes(id int primary key, name varchar(20)); create table students(id int primary key, name varchar(20), class_id int, foreign key(class_id) references classes(id)); |
四、数据库的三种设计模式
1NF | 只要字段值还可以继续拆分,就不满足第一范式。 范式设计得越详细,对某些实际操作可能会更好, 但并非都有好处,需要对项目的实际情况进行设定。 |
2NF | 在满足第一范式的前提下,其他列都必须完全依赖于主键列。 如果出现不完全依赖,只可能发生在联合主键的情况下: |
3NF | 在满足第二范式的前提下,除了主键列之外, 其他列之间不能有传递依赖关系。 |