数据库基础知识_1

来源:互联网 发布:淘宝买家秀怎么发微淘 编辑:程序博客网 时间:2024/05/01 03:18
一、数据库介绍
1、数据库(DataBase):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。(文件系统)
2、数据库管理系统(DataBase Management System):是指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。
3、数据库软件应该为数据库管理系统,数据库是通过数据库管理系统创建和操作的。
4、数据库:存储、维护和管理数据的集合。
二、MySQL数据库的安装
三、sql概述
1、为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据
2、所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
3、
  • 列:字段
  • 行:一条记录(实体)
  • 表中的一条记录对应一个java对象的数据
4、SQL:Structure Query Language
  • 高度非过程化,即用SQL操作数据库,只需指出 做什么,无需指明 怎么做,存取路径的选择和操作的执行由DBMS自动完成。
  • DDL(Data Definition Language)数据定义语言,用来定义数据库对象:库、表、列等
  • Create Alter Drop
  • DML(Data Manipulation Language)数据操作语言,用来操作数据库表中的记录(数据)
  • Insert Update Delete
  • DQL(Data Query Language)数据查询语言,用来查询记录(数据)
  • Select
  • DCL(Data Control Language)数据控制语言,用来定义访问权限和安全级别
四、DDL 操作数据库、表、列
1、操作数据库
  • 创建
    • create database mydb1;
    • create database mydb2 character set gbk;
    • create database mydb3 character set gbk COLLATE gbk_chinese_ci;校验集
  • 查询
    • show databases;
    • show create database mydb2;//查看前面创建的mydb2数据库的定义信息
  • 修改
    • alter database mydb2 character set utf8;//查看服务器中的数据库,并把mydb2的字符集修改为utf8
  • 删除
    • drop database mydb3;
  • 其他
    • select database();//查看当前使用的数据库
    • use mydb2;//切换数据库
2、操作数据表
  • 语法:
    • create table 表名( 字段1 字段类型 ,字段2 字段类型);
  • 常用数据类型:
    • int 整型
    • double 浮点型 例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99
    • char 固定长度字符串类型 char(10) 'abc'
    • varchar 可变长度字符串类型 varchar(10) 'abc'
    • text 字符串类型
    • blob 字节类型 
    • date 日期类型 格式为yyyy-MM-dd
    • time 时间类型 格式为hh:mm:ss
    • timestamp 日期戳类型 yyyy-MM-dd hh:mm:ss 会自动赋值
    • datetime 日期时间类型 yyyy-MM-dd hh:mm:ss 
  • 实例
    • create table emp{
    • id int,
    • name varchar(50),
    • gender varchar(10),
    • birthday date,
    • entry-date date,
    • job vatchat(100),
    • salary double,
    • resume varchar(200),
    • }
    • show tables;//当前数据库中的所有表
    • desc emp; //查看表的字段信息
    • alter table emp add image blob;//在上面员工表的基本上增加一个image列
    • alter table emp  modify job varchar(60);//修改job列,使其长度为60
    • alter table emp drop image;//删除image列
    • rename table emp to user;//表名改为user
    • show create table user;//查看表格的创建细节
    • alter table user character set gbk;//修改表的字符集为gbk
    • alter table user change name username varchar(100);//列名name修改为username
    • drop table user;//删除表
五、DML操作
1、insert update delete
  • 在mysql中,字符串类型和日期类型都要用单引号括起来。'tom' '2015-09-04'
2、insert 
  • 语法:insert into 表名(列名1,列名2...) values(列值1,列值2);
  • 列名与列表的类型、个数、顺序要一一对应
  • 可以把列名当做java中的形参,把列值当做实参
  • 值不要超出列定义的长度
  • 如果插入空值,请使用null
  • 插入的日期和字符一样,都使用引号括起来
  • insert into emp(id,name,gender,birthday,salary,entry_data,resume) values(2,'lisi','male','1995-01-01',1000,'2015-07-07','good boy');
3、update
  • 语法:update 表名 set 列名1=列值1,列名2=列值2,... where 列名=值
  • update emp set salary=3000 where name=‘zhangsan’;
4、delete
  • delete from 表名 where 列名= 值
  • delete from emp where name = ‘zs’;
  • delete from emp;//删除表中所有记录
  • truncate table emp;//使用truncate删除表中记录
  • delete:删除表中的数据,表结构还在,删除后的数据可以找回
  • truncate:删除是把表直接drop掉,然后再创建一个同样的新表,删除的数据不能找回,执行速度比delete快
六、DQL操作
1、数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端,查询返回的结果集是一张虚拟表
2、语法:select 列名 from 表名 where group by having order by
  SELECT selection_list /*要查询的列名称*/
  FROM table_list /*要查询的表名称*/
  WHERE condition /*行条件*/
  GROUP BY grouping_columns /*对结果分组*/
  HAVING condition /*分组后的行条件*/
  ORDER BY sorting_columns /*对结果分组*/
  LIMIT offset_start, row_count /*结果限定*/
0 0
原创粉丝点击