数据库

增删改查 crud

E-R模型

  • Entry(实体)、Relationship(关系)
  • 关系描述两个实体之间的对应规则

三范式

设计数据库的规范,叫范式

  • 第一范式(1NF):列不可拆分
  • 第二范式(2NF):唯一标识
  • 第三范式(3NF):引用主键
  • 在前一范式的基础上建立

字段类型

  • 数字:int,decimal
  • 字符串:char,varchar,text
  • 日期:datetime
  • 布尔:bit

约束

  • 主键 primary key
  • 唯一unique
  • 外键foreign key

GUI:Navicat

逻辑删除(isDelete:0/1)

命令行操作

连接

[root@host]# mysql -u root -p
帮助
[root@host]# mysql --help
远程连接
[root@host]# mysql -h ipaddress -u root -p

数据库操作

创建数据库
create database 数据库名 charset=utf8;
删除数据库
drop database 数据库名;
切换数据库
use 数据库名;
显示所有数据库
show databases;

表操作

显示表
show tables;
创建表!!
create table 表名(列,类型等);
  • 示例:
    create table students(id int auto_increment primary key,sname varchar(10) not null);
  • auto_increment表示自动增长
修改表
alter table 表名 add|change|drop 列名 类型;
  • 示例:
    alter table students add birthday datetime;
删除表
drop table 表名;
查看表
desc 表名;
更改表名称
rename table 原表名 to 新表名;
查看表的创建语句
show create table '表名';

数据操作

  1. 查询
    select * from 表名

  2. 增加
    全列插入:insert into 表名 values(...)

    缺省插入:insert into 表名(列1,...) values(值1,...)

    同时插入多条数据:insert into 表名 values(...),(...)...;

    或insert into 表名(列1,...) values(值1,...),(值1,...)...;

  3. 修改
    update 表名 set 列1=值1,... where 条件

  4. 删除
    delete from 表名 where 条件

备份和恢复

  • 进入mysql库目录
    cd /var/lib/mysql
  • 运行mysqldump命令
    mysqldump –uroot –p 数据库名 > ~/Desktop/备份文件.sql;
  • 恢复
mysql -uroot –p 数据库名 < ~/Desktop/备份文件.sql

总结

  1. 创建数据库:create datebase 数据库名 charset=utf8;
  2. 创建表:create table 表名(字段 类型 约束);
  3.  id int auto_increment primary key not null,
    
  4. 插入数据:insert into 表名() values();
  5. 修改数据:update 表名 set 字段名=值,……
  6. 删除数据:delete from 表名

5/10/2018 7:43:31 PM