文章目录
- 数据库的介绍
- 1.ER图
- 2.约束
- Mysql常用命令
- 数据库定义(DDL)
- 1.DDL操作数据库
- 2.DDL操作表
- 操作数据(DML)
- 1. 添加数据
- 2. 修改数据
- 3. 删除数据
数据库的介绍
数据库:存储和管理数据的仓库,数据是有组织的进行存储
数据库管理系统:管理数据库的大型软件,DBMS(DataBase Management System)
1.ER图
表与表之间的关系
2.约束
约束是作用于表中列上的规则,用于限制加入表的数据
(1)非空约束
关键字:NOT NULL
保证列中所有的数据不能有null值。
– 创建表时添加非空约束
CREATE TABLE 表名(
列名 数据类型 NOT NULL,
…
);
(2)唯一约束
关键字是 UNIQUE
保证列中所有数据各不相同。
– 创建表时添加唯一约束
CREATE TABLE 表名(
列名 数据类型 UNIQUE …);
(3)主键约束
关键字: PRIMARY KEY
主键是一行数据的唯一标识,要求非空且唯一。一般我们都会给没张表添加一个主键列用来唯一标识数据。
(4)外键约束
关键字是: FOREIGN KEY
外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性。
简单说就是两张表有关联,当年想删除id=1的部门时,就会出错(因为有好几个员工都属于这个部门)
语法:
– 创建表时添加外键约束
CREATE TABLE 表名(
列名 数据类型,
…
[CONSTRAINT] [外键名称] FOREIGN KEY(外键列名) REFERENCES 主表(主表列名)
);
e.g.
建立一个“学生选课”表SC,它由学号Sno、课程号Cno,修课成绩Grade组成,其中(Sno, Cno)为主码,Sno,Cno还分别为外码。
CREATE TABLE
SC(Sno varCHAR(5), Cno varCHAR(3), Grade int,
Primary key (Sno, Cno),
FOREIGN KEY (Sno) REFERENCES Student(Sno),
FOREIGN KEY (Cno) REFERENCES Course(Cno));
Mysql常用命令
数据库服务启动:net start mysql
服务关闭:net stop mysql
登录:mysql -uroot -p1234
(1234为密码)
数据库定义(DDL)
DDL(Data Definition Language) ,创建(准备工作)
1.DDL操作数据库
语句 | 含义 |
---|---|
show databases; | 查看所有的数据库 |
create database 数据库名称 ; | 创建数据库 |
drop database 数据库名称 ; | 删除数据库 |
use 数据库名称 ; | 使用数据库 |
2.DDL操作表
可以对比上面的操作数据库,非常相似
(1) 查询当前数据库下所有表名称:
show tables;
(2)查询表的结构:
desc
表名称
;
(3)删除表:
drop table
表名
;
(4)创建表:
create table 表名 (字段名1 数据类型1, 字段名2 数据类型2, … 字段名n 数据类型n);
如:
create table tb_user (
id int,
username varchar(20),
password varchar(32)
);
(5)修改表:
> ALTER TABLE <表名>
> [ ADD <新列名> <数据类型> [ 完整性约束 ] ]
> [ DROP <完整性约束名> ] [
> MODIFY <列名> <数据类型> ];
<表名>:要修改的基本表
ADD子句:增加新列和新的完整性约束条件
DROP子句:删除指定的完整性约束条件
MODIFY子句:用于修改列名和数据类型
操作数据(DML)
DML(Data Manipulation Language) 数据操作语言
1. 添加数据
给指定列添加数据:
INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…);
给全部列添加数据:
INSERT INTO 表名 VALUES(值1,值2,…);
e.g.
-- 给stu表的指定列添加数据
INSERT INTO stu (id, NAME) VALUES (1, '张三');
-- 给student表的全部列添加数据
insert into student values('95010','','','18','IS');
2. 修改数据
(也可以说是更新数据)
UPDATE 表名 SET 列名1=值1,列名2=值2,… [WHERE 条件] ;
e.g.
-- 将张三的性别修改为女
update stu set sex = '女' where name = '张三';
--将stu表中所有人的性别修改为女
update stu set sex = '女';
3. 删除数据
DELETE FROM 表名 [WHERE 条件] ;
e.g.
-- 删除张三记录
delete from stu where name = '张三';
-- 删除stu表中所有的数据
delete from stu;