zoukankan      html  css  js  c++  java
  • 数据库整理(基础知识,库操作,表操作,行的增删改)

    0 数据库的基础知识

    安装

    修改用户密码

    修改字符及编码

    数据类型:

      数值类型:整型,浮点型

      字符串类型:char(定长),varchar(不定长) 

         两者都是字符串类型,可以在后面接宽度,char在磁盘上的存储空间均为固定的,保存的时候不需要考虑数据长度,

                 定长在查询的时候也不需要考虑长度,因而读取速度快;

                 varchar插入和查询速度相对较慢,存储数据时,按照数据长度进行存储,每次都需要在存储前计算数据长度,在数据空间

                 前开辟1或2个字节来存储数据的内存长度。在读取数据的术后需要先读取数据的长度,再读取数据内容。这样的速度较慢,                                                                                                       但是多数情况下可以节省空间

      日期:year,date,time,datetime(重点)

      枚举类型:enum(“1”,“2”,“3”)  多个备选项选一

      集合类型:set(“1”,“2”,“3”) 多个备选项选多个

    完整性约束:

      not null:不能为空

      defult:设置默认值

      unique:唯一即不可重复,可以加速查询

      primary key:主键,唯一且非空,每个表中都只有一个主键。未指定的时候则系统自动寻找符合两者要求的一项,再无则指定一个看不见的字段为主键。

      auto_increment:自增,一般加在主键之后。其步长及初始值均可修改。

      foreign key:外键,建立表之间的关系

        一对多:T1为一,T2为多,则T1里的一条数据可以对应T2内的多条数据

        create table T2(字段名,数据类型,约束条件)

        create table T2(id int  primary key auto_increment,

                name char(10) not null,

                sex enum('男','女’) defult '男' not null,

                id_card char(18) not null and unique,

                T1_id int not null,

                constraint fk_t1_t2(自己设定的外键名字) foreign key (T1_id) references T1(id被关联的的字段,不为空且唯一)

                )即在多的一个表里设置外键

                  一对一:两表的数据都只能对应对方的一条

        create table T2(字段名,数据类型,约束条件)

        create table T2(id int  primary key auto_increment,

                name char(10) not null,

                sex enum('男','女’) defult '男' not null,

                id_card char(18) not null and unique,

                T1_id int not null and unique,                同上不一样的地方在于这里加了唯一限制

                constraint fk_t1_t2(自己设定的外键名字) foreign key (T1_id) references T1(id:被关联的的字段,不为空且唯一)

                )

        多对多:

          建立第三个表,其表头为:id  T1_id  T2_id

    1 库操作

      增 create database 库名;

      删 drop database 库名;

      改 alter database 库名 charset utf8;

      查 show databases;此处多个s

        show create database 库名 G;  库名后可不接G

        输入C可以提前结束已错的语句

     2 表操作

      增 create table 表名(字段1 类型1,字段2,类型2);

      删 drop table 表名;

      改(字段的修改,表结构的修改)

        alter table 表名 rename 新表名;  改表名

        alter table 表名 modify 字段名 数据类型 完整性约束;  改字段名

        alter table 表名 change 原名 新名 数据类型 完整性约束;  改字段名

        alter table 表名 add 字段 数据类型 完整性约束 first/after 字段(用于定位);  加字段

        alter table 表名 add foreign key(本表字段)references 被关联表的表名(id); 加外键

      查 show tables;  查看表

     3 行操作

      增 insert into 表名 values(数据1,数据2);

      删 delete from 表名 where 条件;条件成立则执行前面,不成立就废了 

      改 update 表名 set 字段=‘新内容’ where 条件;

  • 相关阅读:
    剑指offer-二维数组中的查找
    TF-IDF(term frequency–inverse document frequency)
    Java实现中文字符串的排序功能
    当前课程
    【R】资源整理
    CentOS相关
    【转】Setting up SDL Extension Libraries on MinGW
    【转】Setting up SDL Extension Libraries on Visual Studio 2010 Ultimate
    【转】Setting up SDL Extension Libraries on Code::Blocks 12.11
    【转】Setting up SDL Extension Libraries on Visual Studio 2019 Community
  • 原文地址:https://www.cnblogs.com/shachengcc1/p/11415683.html
Copyright © 2011-2022 走看看