数据库基础一

1.什么是数据库?
    数据在程序中运行时有,程序运行完就没有了,这样我们数据是在内存中的。
    Java基础的时候有Java IO流,把数据保存到文件中,这样重启之后数据还在。
    取数据的时候不方便
    “zhangsan,123456,18,男,我是一个土豪、lisi,666666,19,男,”
    应该有一个规范来保存数据,于是数据库软件诞生了。
    数据库就是一个软件,它是解决数据持久化的软件。
    数据持久化,指的是把数据保存到磁盘的过程,还包括从磁盘读取的过程。
    磁盘还可以是其他设备。
    数据库(DataBase ,db,DB):指长期保存在计算机的存储设备中,按照一定的规则组织起来,可以被各种用户或者程序应用共享的数据集合。

    数据库管理系统:  (DataBase  Management  System  ,DBMS)

2.主流的数据库软件?

    Oracle:    运行稳定,功能齐全,性能超群,技术领先……         收费。PL/SQL

     MySQL:  免费,体积小,速度快,开源。数据库引擎支持插件化(Inno  DB)。
    2008年被SUN收购了,2009年SUN又被Oracle收购了。5.7.x
    5.7.x为什么让大家用这个版本,安装与卸载的时候方便,都有图形化工具。
     SQL Server:微软出品,sp4补丁。
     PostgreSQL:它也是免费的,加州大学伯克利分校开发的,最开始只是用于实验室,数据库原理的实验上,后来发现,设计的很好,性能也不错,很多企业选择了它。
    DB2     ACC  TD  ……

    运行标准SQL语句都一样。

3、Select

    查询关键字
    你可以用select查询出数据库的版本信息,当前时间,日期,等等……
    查看版本信息
    Select version();
    查看时间
    Select current_time;
    查看日期
    Select current_date;
    查看日期时间*****
    Select now();
    Select还可以当计算器用:
    select (1+2+3)/3;

4、查看数据库
    Show databases;
    在数据库中不许删除原生数据库:
    Information_schema
    Performance_schema
    Mysql
    Sakila
    Sys
    World
    不同版本数据库,原生数据库可能不一样,但是都不可以删除。
    数据库:
    使用数据库
    Use database_name;
    查看数据库中所有的表的表名
    Show tables;

5、***查看数据库中表里的信息:
    Select * from table_name;
    Sql语句是大小写不敏感的
    Mysql文件系统当中,有数据文件的概念。
    什么叫“数据文件”?
    保存数据的文件我们称之为数据文件,其实数据库软件不过是对“IO流”的封装而已。
    日志文件,里面记录了对于数据库的操作,可以使用它对数据库进行恢复。

    备份数据文件。

6、创建自己的数据库
    Create  database database_name;
    创建表:
    Create table table_name(
id int(4),
name varchar(20)
    );
    向表中插入数据
    Insert into table_name values(1,’zhangsan’);
    数据类型:
    Bit,tinyint,smallint
    Int    整型  -21亿多-21亿多   Float 浮点    double双精度浮点     
    金钱相关的数据不要使用int  float  doubel类型
    Java中有一个类叫BigDecimal
    Mysql中decimal

    二者对应。

7、Char    varchar的区别
    其实在数据库中有char,和Java语言中String的概念不一样
    Char(10)
    Lisi放进去
    Lisi      
    “lisi      ”
    Varchar不一样
    Varchar(10)
    lisi

    Varchar(10)

    2018-01-02
    1234561387
    Date  DateTime  Year
    YYYY-MM-DD   
    YYYY-MM-DD HH:mm:ss

    YYYY

8、Select在查询的时候可以指定列
    也就是“*”位置替换成具体的列名
    Select col_name1,col_name2…… from  table_name;
    查询出的结果,我们称之为“结果集”。
    表的结构可以修改
    Alter table table_name add col_name  value_type;
    数据被赋值之前是“NULL”
    修改NULL为具体的值。
    Update语句,意思是更新数据
    Update table_name set col_name1=value1,col_name2=value2…… where boolean1 and boolean2;
    丢弃表的一列
    Alter table table_name drop column col_name;
    删除一行数据
    Delete from table_name where Boolean1;

    删除表:drop table table_name;       删除数据库:drop database database_name;

9、主键:
    在软件开发中,我们通常用主键来区分数据库中的每一行。
    DDL      DATA DEFINITION  LANGUAGE  数据定义语言 create drop alter
    DML     data manipulation language 数据操控语言 insert delete update
    DQL     data query language  数据查询语言 select

    Select   delete是有from的

    Where条件过滤
    Select * from mytable where Boolean
    Order by
    Select * from mytable order by age;
    默认升序,加desc就是降序
    Select * from mytable order by col_name1 desc,col_name2
    分组问题:where和having的顺序
    Select * from  table_name
    Where boolean1
    Group by col_name1
    Having boolean2

    Order by col_name2

10.聚合函数不能使用在where条件中

猜你喜欢

转载自blog.csdn.net/qq_41813207/article/details/80170428