• SQL语句


    一: 库

    1.增

       创建库:        create database 库名 charset utf8;  
    
    说明;#造一个数据库就相当于建了一个文件夹创建,造数据库,取一个名,指定字符编码utf8
    

    2.查

    查看创建库是否成功:          show create database 库名;
    
    查看全部的数据库:      : show databases;
    

    3.改

    改字符编码对象:        alter database 库名 charset gbk;
    
     说明;对象是数据库,数据库下的某一个具体对象,eg:改字符编码,为gbk
    

    二:表

    PS:创建表之前要先创建库,然后从库切换到库这个目录下:语法: use 库名;

    确认是否切换成功或者查看当前所在文件夹: select database();

    a.增 例如:库名为db2,表名为t4

        新增一个表: create table t4(id int,name char(设置长度));
    
        说明:创建表指定表名称t4 (id号类型,名字类型); #id,name是可改变的字段名
    

    b.查

    1: 查看具体的才新建的表,或者当前的表:show create table t4;
    
    2:  查看当前所在表: desc  t4;
    
    3: 查看当前库下所有的表名: show tables;
    
    4: 查看表详细结构,可加G
    

    c.改 #改表的字段

    1:改字段类型的参数:

    改字段类型的参数: alter table t4 modify name char(6);

    说明:改表,改t4,修改 name字段[name是在增加的时候创建的],改他的类型,指定   宽度为(6),默认情况下宽度为
    

    能想到的名字宽度无非就是存储name时是一个字节还是多个字节.

    下图是在库目录下,只改name字段数据类型的长度:

    2: 改字段名称

    改字段名称: alter table t4 change name NAME char(7);

    说明:改表,改t4,改变name,后边跟改变成什么样子,同时char类型也可以改为7.这个俩个参数都能改.
    

    3: 改表的结构:

    • 指定表类型/存储引擎:

    创建表时指定: create table t1(id int)engine =innodb;

    说明:在硬盘上产生俩个文件frm,idb 其中frm存放表结构,idb存放的是数据文件

    以下为了解部分:
    create table t2(id int)engine = memory;     #存在内存里面,只有frm文件,存放表结构
    
    create table t3(id int)engine = blackhole;  #存进去就没有了,只有frm文件,存放表结构
    
    create table t4(id int)engine = myisam;#在硬盘上存储 frm->表结构MYD->data文件,MYI->索引文件
    

    还可以往表里面增加一条记录

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

    PS:不同类型的文件他对应的存取机制是不一样的.

    • 添加字段:

    是在原有的.同一个表里面添加.

    语法:
    
     ALTER TABLE 表名
                 ADD 字段名  数据类型 [完整性约束条件…],
                ADD 字段名  数据类型 [完整性约束条件…];
    ALTER TABLE 表名
                ADD 字段名  数据类型 [完整性约束条件…]FIRST;
    ALTER TABLE 表名
               ADD 字段名  数据类型 [完整性约束条件…]  AFTER 字段名;
    

    实例:

    • 删除字段:

    语法: ALTER TABLE 表名 DROP 字段名;

    实例:

    • 修改字段类型modify, 和改字段名称

    语法:

    ALTER TABLE 表名 
                              MODIFY  字段名 数据类型 [完整性约束条件…];
    ALTER TABLE 表名 
                              CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];
    ALTER TABLE 表名 
                              CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];
    

    实例: PS:不能将旧字段名name 改成 name.

    d:复制表:

    1.复制表结构+记录

    (key不会复制: 主键、外键和索引)

    备好A被复制的表,就从mysql自带的user表
    
     查看user表的所有信息
    select * from mysql.user;
    
    1.取出被复制的mysql表下的host,user字段
    select host,user from mysql.user;
    
    2.准备好B,在造一个库, db3
    create database db3 charset utf8;
    
    3.切换到表目录下,
    use db3
    
    4.将A表的host,user信息复制到B表
    create table t1 select host,user from mysql.user;
    理论是:将A表查出的信息,[select host,user from mysql.user;] 丢给 t1,
    而t1,则是db3库下create table t1新建的表
    

    2.只复制表结构:

    a. 取A表的部分结构:从mysql下的user表取host.user字段
        1.条件为假,查不到任何记录,即为拷复制表结构
        select host,user from mysql.user where 1>3;
    
        2.理解为粘贴表结构
        create table t2    select host,user from mysql.user where 1>3;
        #理论是:将A取出的结构复制给t2,而t2则是db3库下create table t2新建的表
    
    
    ,b. 取A表的全部结构:
        create table t3 like mysql.user;
        一步完成,将mysql下的user表全部结构 粘贴到新建的表t3下面.不能拷贝表的数据
    

    e:删除表

    DROP TABLE 表名;
    

    补充概念:什么是存储引擎?

    现实生活中我们用来存储数据的文件应该有不同的类型:比如存文本用txt类型,存表格用excel,存图片用png等

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

    存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方

    法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)

  • 相关阅读:
    cloud-init 手动调试及问题解决
    深入理解openstack网络架构(四)
    深入理解openstack网络架构(三)
    深入理解openstack网络架构(二)
    深入理解openstack网络架构(一)
    ovs总结与常用命令
    如何debug cloud-init
    nova snapshot
    Openstack并行性能加速
    Nova 是如何统计 OpenStack 计算资源
  • 原文地址:https://www.cnblogs.com/sunny7/p/10010091.html
Copyright © 2020-2023  润新知