zoukankan      html  css  js  c++  java
  • 基本sql语句与存储引擎介绍

    数据库总结:

    数据库服务器中存放的是 库(文件夹) 表(文件) 表里面是记录(一行数据)

    库:
    创建
    create database 数据库名 charset 编码名称
    修改
    alter database 数据库名 charset gbk
    注意,这里的修改只能修改编码方式,不能修改库名
    如果要修改库名的话,就需要重新建一个库,将原来的库中的文件复制过去

    show databases; 查看所有数据
    show create database 数据库名 查看建库语句
    删除
    drop database 数据库名

    表相关
    创建
    create table t1(id int,name char);
    修改
    改结构
    alter table 表名 add | drop | modify | change
    add 后面跟 字段名 数据类型
    alter table t1 add grade,int;###增加grade 这一列,类型是Int
    drop 后面跟 字段名
    alter table t1 drop garade;###删除grade 这一列
    modify 后面跟 字段名 新类型
    这个只能修改原来字段的类型
    change 后面跟 旧字段名 新的字段名 新类型
    alter table t1 change name name1 char(32);
    改属性
    编码
    alter table t1 charset gbk;
    表名
    rename table 旧表名 to 新表名
    rename table t1 to t2;

    show tables;
    show create table 表名 查看建表语句
    desc 表名 查看表结构(字段)
    删除
    drop table 表名
    这个删除了表内容 会依然保留表结构,在下次重新插入数据的时候,会继续在原来的ID上增加
    truncate table 表名,重建表(清空数据)
    这个不仅删除了表内容,还删除了表结构,在下次重新插入数据的时候,ID从1重新开始
    行:
    添加
    insert into 表名 values(值1...),(值1....)....
    插入时注意 值得顺序 和 类型必须与表结构一致
    修改
    update 表名 set 字段名=新的值 where 条件
    update t2 set name1='szp' where id=1;
    可以同时修改多行 用逗号来隔开字段
    没有条件就全改

    select *|字段名 from 表名 *表示所有字段
    删除
    delete from 表名 where条件
    没有条件就全删


    注意:在公司中,一般删库删表的命令是不让使用的,会有权限加以限制,
    数据是最宝贵的东西,记录了所有的信息,一般不允许删除.




    存储引擎:
      mysql中建立的库===>文件夹
      库中建立的表===>文件
    表中的行 =====>文件中的数据
      现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,
    处理表格用excel,处理图片用png等

    数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎。

    存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方
    法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和
    操作此表的类型)

      在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySql
    数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据
    自己的需要编写自己的存储引擎
      
      不同的应用软件处理不同类型的数据.MYSQL5.5版本及以上默认的存储引擎是InnoDB

      mysql 之前使用的存储引擎是myisam 但是现在换成了InnoDB,相对于前者,后者使得数据更加
    安全,但是查询的效率有所降低,也就是牺牲了效率换取安全

      几个重要的存储引擎特点简介"
        memory:内存引擎,将所有的数据直接放在内存,一旦断电数据就会全部消失
        blackhole :一切存入其中的数据都会消失
        innoDB:支持行锁,表锁,外键,事物,安全性更高 innodb是默认的引擎 它是永久存储 并且 支持事务,行锁,外键
        myisam :仅仅支持表锁不支持行锁,查询速度叫innoDB更快

    # 查看当前数据库的存储引擎以及默认设置情况
    show engines;

    # 查看不同存储引擎存储表结构文件特点
    create table t1(id int)engine=innodb;
    create table t2(id int)engine=myisam;
    create table t3(id int)engine=blackhole;
    create table t4(id int)engine=memory;
    可以去那个数据库的文件夹下面查看这几个表,t1 t2 t3 t4 的文件数量是不同的,本质原因是因为存储引擎的不同

    insert into t1 values(1);
    insert into t2 values(1);
    insert into t3 values(1);
    insert into t4 values(1);

    补充:配置文件中配置用户名和密码
    为了简化登录环节,可以在配置文件中增加
    user = root
    password = 654321
    这样的两行配置信息到配置文件中,可以每次启动就会默认进入,不需要输入密码了
    但是为了数据的安全性,一般不建议这么做


  • 相关阅读:
    VB.Command()的参数
    XAMPP 启动mysql报错 InnoDB: Error: could not open single-table tablespace file……
    在不安装Windows服务的情况下,如何进行调试或测试
    Java基础东西(按位操作运算)
    浅谈web应用的负载均衡、集群、高可用(HA)解决方案
    关于CSDN, cnblog, iteye和51cto四个博客网站的比较与分析
    bzoj2243[SDOI2011]染色
    洛谷P2740 [USACO4.2]草地排水Drainage Ditches
    bzoj4198[noi2015]荷马史诗
    矩阵快速幂模板(pascal)
  • 原文地址:https://www.cnblogs.com/1832921tongjieducn/p/11064203.html
Copyright © 2011-2022 走看看