数据库(database)是用来组织,存储和管理数据的仓库
数据库
传统型数据库(又叫做:关系型数据库或SQL数据库) MySQL,Oracle,SQL Server 新型数据库(又叫做:非关系型数据库或NoSQL数据库) MongoDB
传统型数据库的数据组织结构
- 数据库(database)
- 实际开发中,通常每个项目对应独立的数据库
- 数据表(table)
- 不同数据,存储到不同表中
- 如用户数据在users表,图书数据在books表中
- 数据行(row)
- 表中的行,代表每一条具体的数据
- 字段(field)
- 每个表中具体存储哪些信息,由字段来决定
- 如users表设计id,username,password这三个字段
- 字段类似于Excel的列,
- 每个字段都有对应的数据类型
创建数据库
不要用中文,空格用'_'代替
创建数据表
- DataType数据类型
- int整数
- varchar(length)字符串
- tinyint(int)布尔值
- 字段的特殊标识:
- PK(Primary Key)主键,唯一标识
- NN(Not Null) 值不允许为空
- UQ(Unique) 值唯一
- AI(Auto Increment) 值自动增长 (通常给id设置自动增长)
- Default/Expression 默认值 (未赋值时,自动设为默认值) 假设id为自动增长且唯一的值,若该行数据被删除,之后新增的数据将不会再次使用该id值
SQL:结构化查询语言
SQL是一门数据库编程语言
SQL语言编写的代码,即SQL语句
只能在关系型数据库中使用(MySQL,Oracle,SQL Server)
语法
SQL语句中的关键字对大小写不敏感,所以SELECT,FROM等效于select,from
- Select语句用于从表中查询数据,执行的结果被存储在一个结果表中(称为结果集)。语法格式如下
--注释
--从from指定的【表中】,查询出【所有】的数据,*表示所有列
SELECT * FROM 表名称
--从FROM指定的【表中】,查询出指定 列名称(字段) 的数据
SELECT 列名称 FROM 表名称
--多个列之间用','隔开
SELECT username,password FROM users
- Insert into 语句用于向数据表中插入新的数据行
-- 注意:列和值要一一对应,多个列和多个值之间,使用英文的逗号分隔
INSERT INTO table_name (列1,列2,...) VALUES (值1,值2,...)
- Update 语句用于修改表中的数据
-- 用UPDATE 指定要更新哪个表中的数据
-- 用SET指定列对应的新值
-- 用WHERE 指定更新的条件
-- UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
UPDATE users SET password = 'zs8888' WHERE id = 7
-- 更新某一行中的若干列
UPDATE users SET password = '123456',username = 'zs' WHERE ID = 2
-
Delete语句用于删除表中的行
注意:使用delete语句时若忘记加where条件将删除整张表的数据
-- 从指定的表中,根据where提供的条件,删除对应的数据行
DELETE FROM TABLE_NAME WHERE COL_NAME = VALUE
-
where子句用于限定选择标准
在select,update,delete语句中,皆可使用where子句来限定选择的标准 -
运算符
=等于<>不等于(某些版本中,<>可以写成'!=')>大于<小于>=大于等于<=小于等于BETWEEN在某个范围内LIKE搜索某种模式
-
and/or语句在where子句中把两个或多个条件结合起来
SELECT * FROM users WHERE uername<>'zs' AND id<3
SELECT * FROM users WHERE uername<>'zs' OR id<3