码迷,mamicode.com
首页 > 数据库 > 详细

数据库整理

时间:2019-08-27 00:34:43      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:内容   null   odi   存储   and   ons   add   incr   let   

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

 

数据库整理

标签:内容   null   odi   存储   and   ons   add   incr   let   

原文地址:https://www.cnblogs.com/shachengcc1/p/11415683.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!