数据库整理

回眸只為那壹抹淺笑 提交于 2019-11-28 16:33:40

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 条件;

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!