MySQL数据库:数据库入门||增删改查

1,328 阅读3分钟
数据库(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等效于selectfrom
  • 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