zoukankan      html  css  js  c++  java
  • 数据库01

    数据库概念

    数据库是指长期存储在计算机内、有组织的数据集合。简而言之,数据库就是一个存储数据的地方。表是数据库中存储数据的基本单位,数据按照分类存储到不同的表中,能够非常高效的查询其 中的数据

    关系型数据库RDBMS

    • 当前主要使用两种类型的数据库:关系型数据库、非关系型数据库,我们主要学习主流的关系 型数据库
    • 所谓的关系型数据库RDBMS,是建立在关系模型基础上的数据库,借助于集合代数等数学概 念和方法来处理数据库中的数据

    关系型数据库的主要产品

    oracle:在以前的大型项目中使用,银行,电信等项目
    mysql:web时代使用最广泛的关系型数据库 ms sql
    server:在微软的项目中使用
    sqlite:轻量级数据库,主要应用在移动平台

    关系型数据库核心元素

    数据行(一条记录)
    数据列(字段)
    数据表(数据行的集合)
    数据库(数据表的集合,一个数据库中能够有 n 多个数据表)

    SQL

    • 在数据库中进行操作的语言,称为sql,结构化查询语言,当前关系型数据库都支持使用sql语言进 行操作,也就是说可以通过 sql 操作 oracle,sql server,mysql,sqlite 等等所有的关系型的数据库
    • SQL 是一门特殊的语言,专门用来操作关系数据库 不区分大小写
    • 重点是查询

    MySQL

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,后来被Sun公司收购, Sun公司后来又被Oracle公司收购,目前属于Oracle旗下产品

    特点

    • 支持多种操作系统,如Linux、Windows、AIX、FreeBSD、HP-UX、MacOS、 NovellNetware、OpenBSD、OS/2 Wrap、Solaris等
    • 开源 免费 使用范围广 支持多平台
    • 是学习数据库开发的首

    数据类型与约束

    为了更加准确的存储数据,保证数据的正确有效,需要合理的使用数据类型和约束来限制数据 的存储。

    常用数据类型

    • 整数:int,有符号范围(-2147483648 ~2147483647),无符号范围(0 ~ 4294967295)
    • 小数:decimal,如decimal(5,2)表示共存5位数,小数占2位,整数占3位
    • 字符串:varchar,范围(0~65533),如varchar(3)表示最多存3个字符,一个中文或一个字 母都占一个字符
    • 日期时间: datetime,范围(1000-01-01 00:00:00 ~ 9999-12-31 23:59:59),如'2020-01-01 12:29:59'

    约束

    • 主键(primary key):物理上存储的顺序 (int类型, 无符号, 自动递增, 唯一的标识一条记录)
    • 非空(not null):此字段不允许填写空值
    • 惟一(unique):此字段的值不允许重复
    • 默认值(default):当不填写此值时会使用默认值,如果填写时以填写为准
    • 外键(foreign key):维护两个表之间的关联关系

    查询数据

    鼠标左键点击某个数据库下面的查询按钮,然后点击新建查询
    在打开的查询编辑器中,输入下面的SQL查询语句
    select * from students
    然后点击运行按钮,既显示查询的结果

    Ctrl + /注释
    Ctrl + Shift + /取消注释

    创建表

    create table 表名( 字段名 类型 约束, 字段名 类型 约束 ... )

    例:创建学生表,字段要求如下:
    姓名(长度为10)

    create table students(    name varchar(10) )
    

    例:创建学生表,字段要求如下:
    姓名(长度为10), 年龄

    create table students(    name varchar(10),    age int unsigned )
    

    例:创建学生表,字段要求如下:
    姓名(长度为10), 年龄,身高(保留小数点2位)

    create table students(    id int unsigned primary key auto_increment,    name varchar(10),    age int unsigned,    height decimal(5,2) )
    

    删除表

    格式一:drop table 表名

    格式二:drop table if exists 表名

    例:删除学生表
    drop table students drop table if exists students

    简单查询

    select * from 表名
    例:查询所有学生数据 select * from students

    添加数据

    • 添加一行数据

    格式一:所有字段设置值,值的顺序与表中字段的顺序对应
    说明:主键列是自动增长,插入时需要占位,通常使用0或者 default 或者 null 来占位,插入 成功后以实际数据为准
    insert into 表名 values(...)

    例:插入一个学生,设置所有字段的信息
    insert into students values(0,'亚瑟',22,177.56)

    格式二:部分字段设置值,值的顺序与给出的字段顺序对应
    insert into 表名(字段1,...) values(值1,...)

    例:插入一个学生,只设置姓名

    insert into students(name) values('老夫子')

    • 添加多行数据

    方式一:写多条insert语句,语句之间用英文分号隔开
    insert into students(name) values('老夫子2'); insert into students(name) values('老夫子3'); insert into students values(0,'亚瑟2',23,167.56)

    方式二:写一条insert语句,设置多条数据,数据之间用英文逗号隔开

    格式一:insert into 表名 values(...),(...)...
    例:插入多个学生,设置所有字段的信息 insert into students values(0,'亚瑟3',23,167.56),(0,'亚瑟4',23,167.56)

    格式二:insert into 表名(列1,...) values(值1,...),(值1,...)...
    例:插入多个学生,只设置姓名
    insert into students(name) values('老夫子5'),('老夫子6')

    修改

    格式:update 表名 set 列1=值1,列2=值2... where 条件
    例:修改id为5的学生数据,姓名改为 狄仁杰,年龄改为 20
    update students set name='狄仁杰',age=20 where id=5

    删除

    格式:delete from 表名 where 条件

    例:删除id为6的学生数据
    delete from students where id=6

    逻辑删除:对于重要的数据,不能轻易执行delete语句进行删除,一旦删除,数据无法恢复,这时可以进行逻辑删除。

    1、给表添加字段,代表数据是否删除,一般起名isdelete,0代表未删除,1代表删除,默认值为0
    2、当要删除某条数据时,只需要设置这条数据的isdelete字段为1
    3、以后在查询数据时,只查询出isdelete为0的数据

    例:
    1、给学生表添加字段(isdelete),默认值为0,如果表中已经有数据,需要把所有数据的isdelete字段更新为0
    update students set isdelete=0
    2、删除id为1的学生 update students set isdelete=1 where id=1
    3、查询未删除的数据 select * from students where isdelete=0

  • 相关阅读:
    开源项目
    分享知识 学无止境 只做正确的事 伸出援助之手
    公开支持与鼓励,私下质疑与建议(转)
    天使投资人给阿里新贵们的一些建议(转)
    沟通中“倾听”的五个层次
    intent
    SafeNet推出行业首款白盒password软件保护解决方式
    应用系统设计思考
    常见的几种RuntimeException
    ASP.NETserver控件使用之Reportviewer 报表
  • 原文地址:https://www.cnblogs.com/albieh/p/12347861.html
Copyright © 2011-2022 走看看