此为实验楼mysql教程的学习笔记https://www.shiyanlou.com/courses/9
第一节
- 打开mysql:
sudo service mysql start
mysql -u root -p <密码>
-
查看数据库:
show databases;
-
连接数据库:
use <数据库名>;
-
查看表:
show tables;
-
退出:
quit/exit;
第二节
-
创建数据库:
create database <数据库名>;
-
创建数据表:
create table <表名>
(
列名a 数据类型(数据长度),
列名b 数据类型(数据长度)
);
- sql数据类型:
- 插入数据:
insert into <表名>(列名a,列名b) values(值1,值2);
- 查看表:
select * from <表名>;
第三节
- 约束分类:
- 删除数据库:
drop database <数据库名>;
- 打开sql文件:
source <文件路径+文件名>;
- 主键(primary key): 主键为表中一行的唯一标识符主键不能有重复且不能为空
定义主键:
create table <表名>
(
列名a 数据类型(数据长度)primary key,
列名b 数据类型(数据长度)
);
或
create table <表名>
(
列名a 数据类型(数据长度),
列名b 数据类型(数据长度)
constraint <主键名> primary key (<列名>)
);
复合主键:
constraint <主键名> primary key (<列名a>,<列名b>)
5.默认值(default):含有默认值的列,插入数据为空时,使用默认值:
create table <表名>
(
列名a 数据类型(数据长度)default <'默认值'>,
列名b 数据类型(数据长度)
);
- 唯一约束(unique):规定表中的一列值不能有重复
create table <表名>
(
列名a 数据类型(数据长度),
列名b 数据类型(数据长度),
unique(<列名>)
);
- 外键(foreign key):表现表之间的关系
一个表可以有多个外键,但每个外键必须参考(references)另一个表的主键,被外键约束的列,取值必须在它参考的列中有对应值
(插入时,参照列中无该值,则插入失败)
create table <表名>
(
列名a 数据类型(数据长度),
列名b 数据类型(数据长度),
constraint <外键名> foreign key(<外键>) references <表>(<列>)
);
- 非空约束(not null):插入值时,不能为空
create table <表名>
(
列名a 数据类型(数据长度) not null,
列名b 数据类型(数据长度)
);