MySQL基础

Posted 无聊的子木君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL基础相关的知识,希望对你有一定的参考价值。

  • 数据完整性

  • 字段类型

    数字:int,decimal

    字符串:char,varchar,text

    日期:datetime

    布尔: bit


  • 约束(物理上存储数据按照主键,不是按照唯一)

    主键:primary key

    非空:not null

    唯一:unique

    默认:default

    外键:foreign key()


  • 逻辑删除

    对重要的数据进行逻辑删除,而不是物理删除,在表的栏位增加isDelete(或DeleteFlag),设置为bit(0是没有删除,1是删除)


库操作

  • 创建数据库

use    datebase 数据库名    charset=utf8;
  • 删除数据库

drop database 数据库名;
  • 切换数据库

use 数据库名;
  • 查看当前选择的数据库

show databases;
  • 查看当前使用的数据库

show database();

表操作

  • 查看当前数据库中所有的表

show tables;
  • 创建表

  • 自动增长 auto_increment


create table 表名 (列及类型);
  • 查看表的结构

desc 表名;
  • 修改表

alter table  表名 add|change|drop 列名 类型;
  • 删除表

drop 表名;
  • 更改表名称

rename table 原名称 to  新名称;
  • 查看表的创建语句

show create table 表名;

数据操作

  • 查询

select * from 表名;
  • 增加

全列插入: 

insert  into  表名  values  (......);



缺省插入:

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



同时插入多条数据:

insert  into  表名  values  (...),(...)...;



或



insert  into  表名  (列1,...)  values  (值1,...),(值1,...)...;
  • 主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后以实际数据为准

  • 修改


update 表名 set 列1=值1,... where 条件;
  • 删除

delete from 表名 where 条件;
  • 逻辑删除,本质就是修改操作update

alter table students add isdelete bit default 0;

如需删除则

update students isdelete=1 where ...;

备份与恢复

  • 数据库备份

  • 进入超级管理员


sudo -

cd /var/lib/mysql
  • 运行mysqldump命令

mysqldump -u root -p 数据库名称 >  ~/.Desktop/备份文件.sql;

按照提示输入mysql密码
  • 数据恢复

  • 先建数据库,然后导入备份


mysql -u root -p   新建数据库名  < bat.sql



登陆数据库中 source bat.sql

以上是关于MySQL基础的主要内容,如果未能解决你的问题,请参考以下文章

linux中怎么查看mysql数据库版本

从mysql的片段中加载ListView

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

使用 json rereiver php mysql 在片段中填充列表视图

关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段