数据库简介

     数据库分类:关系型数据库、非关系型数据库

        常用的关系型数据库有:orcale 、mysql 、sql server等等

        常用的非关系型数据库有: Memcached、redis、mongoDB等




    表类型: myIsam:除系统表外,已经很少使用



         innoDB:最常用的存储引擎(支持事物、数据行级别锁定机制、外键约束、崩溃恢复等功能)



         memory:只存在于内存中,可做临时表



        engine=innodb 可以再表后设置数据库类型



 



    反引号作用:如果建立表时 表名或者列名和关键字相同,就可以用反引号区分



 



    数据类型:



    数值型: 整形-128~127和浮点型0~255



    字符串:



    日期和时间类型



 



    null值



    涉及到钱的时候,用decimal存储



    安装mysql



           https://zhidao.baidu.com/question/456597557358311245.html



一、创建数据库

        查看所有的数据库:show databases;

    创建数据库:create database 数据库名;

                         create database 009 charset utf8; 创建数据库并设定该数据库的字符集

        查看某库中所有的表:show tables;

        指定数据库:use 数据库名;

               查看表结构:desc 表名;

Mysql 的point类型 mysql数据库类型innodb_数据库

               查看建表语句:show create table 表名;

Mysql 的point类型 mysql数据库类型innodb_memcached_02

              

二、表的增删改查

    1、创建表



     

create table table1 ( 
 
 
 

           -> name varchar(5) 
  primary key, 
 
 
 

           -> age int, 
 
 
 

           -> bumen varchar(10), 
 
 
 

           -> socr int, 
 
 
 

           -> salary int, 
 
 
 

           -> bumenid int 
 
 
 

           -> ) 
 
 
 

           -> ;

    2、删除



      ① 删除整个表 有两种sql语句可以删除整个表,但是效果不同



         drop table table1 删除表,数据库中也不会存在该表 释放空间



        truncate table table1 删除表,也释放了空间,数据库中还存在该表,且该表中的定义(列名 结构)还存在;清空表数据,不清空表结构,释放了空间 不可回退



      ② 删除表数据



         delete from table1 where。。。。 不释放空间,可以回退



    3、修改表



      ① 修改表结构 alter



        增加一个字段 address



         alter table table1 add address varchar(10);



        删除一个字段 age



        alter table table1 drop age;



        给某字段更名 将字段name更名为city



        alter table table1 rename name to city;



 



      ② 修改表中的数据 update



        将年龄为20的人的名字改为宋晓影



         update table1 set name='宋晓影' where age=20;



三、表字段添加约束



   1、primary key(PK) 主键约束



   2、unique(UK)唯一约束



   3、not null (NK)非空约束



   4、auto_increment 使整数列默认自增1



   5、default 1888 默认值为1888



         6、foreign key(FK) 外键约束



             主要是保证多个表之间的参照完整性,构建两个表两个字段之间的参照i关系,外键可以为null



             创建外键约束:



       constraint fk_course_teacher foreign key(teacher_id) references teacher(tid))



    



   7、其他约束:   



      default cur_timestamp 创建新记录时默认保存当前时间(仅适用于timestamp数据列) timestamp: YYYYMMDDhhmmss



      on update cur_timestamp 修改记录时默认保存当前时间(仅适用于timestamp数据列)



      unsigned 无符号整数



      character set name 指定字符集(仅适用于字符串)



         5、分组与分组函数

             

 

 

 

导出现有数据库数据:

  • mysqldump -u用户名 -p密码 数据库名称 >导出文件路径           # 结构+数据
  • mysqldump -u用户名 -p密码 -d 数据库名称 >导出文件路径       # 结构