数据库初相识

数据库

什么是数据库

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。---百度百科mysql

通俗的来讲:数据库就是存储数据的仓库,其本质就是按照必定格式存储数据的文件夹.sql

数据库优势

数据库是按照特定的格式将数据存储在文件中,经过SQL语句能够方便的对大量数据进行增、删、改、查操做,数据库是对大量的信息进行管理的高效的解决方案。数据库

数据库管理系统(DBMS)

数据库管理系统(DataBase Management System,DBMS):指一种操做和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户经过数据库管理系 统访问数据库中表内的数据安全

数据库管理系统、数据库和表的关系

数据库管理系统能够管理多个数据库,每一个数据库中能够有多张数据库表。数据结构

常见数据库管理系统

MYSQL :开源免费的数据库,小型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。工具

Oracle :收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。性能

DB2 :IBM公司的数据库产品,收费的。常应用在银行系统中..net

SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。code

SyBase :已经淡出历史舞台。提供了一个很是专业数据建模的工具PowerDesigner。orm

SQLite : 嵌入式的小型数据库,应用在手机端。

MySQL数据库

SQL语言分类

  • DDL 数据库定义语言 用来定义数据库、表、列等

​ 关键字:create(建立),drop(删除),alert(修改)等

  • DML 数据操做语言 对表中的数据进行增删改

​ 关键字: insert(插入),delete(删除),update(更新)等

  • DCL 数据控制语言 访问权限和安全级别

​ 关键字:grant(授予), revoke(撤回)等

  • DQL 数据查询语言

​ 关键字:select(查找)

  • TCL 事务控制语言 数据库的事务操做

​ 关键字: commit(提交),savepoint(保存点)rollback(回滚)

mysql语法规范

  1. 不区分大小写,但建议关键字大写,表名、列名小写
  2. 每条命令最好用英文分号结尾
  3. 每条命令根据须要,能够进行缩进或换行
  4. 注释
    • 单行注释:#注释文字
    • 单行注释:-- 注释文字 ,注意, 这里须要加空格
    • 多行注释:/ 注释文字 /

数据库基础命令

  • 建立数据库

    create database 数据库名;

  • 判断是否存在并建立数据库

    create database if not exists 数据库名;

  • 查询全部数据库

    show databases ;

  • 切换数据库

    use 数据库名;

  • 查看某个数据库中全部表

    show tables;

  • 查看表结构

    desc 表名称;

  • 添加字段

    alter table 表名 add 字段名 类型;

  • 删除列

    alter table 表名 drop 列名;

  • 修改表名称

    rename table 表名 to 新表名;

  • 删除表

    drop table 表名;

  • 删除数据

    delete form 表名;//逐条删除表中的全部数据

    delete from 表名 where 字段名=值;

  • 查看其余库中全部的表

    show tables from 库名;

  • 查看当前所在库

    select database();

  • 数据库的备份

    mysqldump -u -p 数据库 > 文件路径

  • 数据库的还原

    source 导入文件路径

delete和truncate的区别

一、删除方式不一样:

  • delete是一条一条删除数据
  • truncate是删除整个表而后在建立一个结构相同的新表

二、返回值和安全性能:

  • delete删除的数据还能被还原,有安全性
  • truncate删除的数据找不回来,不安全

三、主键自增上

  • delete删除表中的数据,不重置主键的值,在原来的基础上加1
  • truncate摧毁的是整张表,在从新建立一个新表,主键重置成1

蠕虫复制

在已有的基础上,将原来的数据进行复制,插入到对应的表中

insert into 表名1 select*from 表名2;

-- 复制表结构
create  table  表2  like  表1;
-- 复制所有数据
insert  into  表2  select * from 表1;
-- 复制表1的部分数据
insert  into  表2 (字段名1,字段名2...) select  字段名1,字段名2... from 表1;
相关文章
相关标签/搜索