学习笔记—MySQL基础

数据库的介绍

mysql数据库介绍

  开放源码的轻量级关系型数据库管理系统,体积小、速度快、操作便捷。

数据库的启动和连接

mysql数据库启动

  在终端输入以下命令,启动mysql服务器

service mysql start

  输入命令,查询mysql服务器状态

service mysql status

  出现如下提示表示mysql服务器以启动成功

学习笔记—MySQL基础

mysql数据库连接

  输入账户和密码连接数据库

学习笔记—MySQL基础

学习笔记—MySQL基础

  表示启动成功。

mysql数据库断开连接

  输入exit,如果显示Bye表示断开成功。

学习笔记—MySQL基础

数据库的操作

显示数据库

show databases;

创建数据库

create database 库名 default character set utf8;

删除数据库

drop database 库名;

使用数据库

use 库名;

学习笔记—MySQL基础

  表示以成功切换到study数据库。

数据表的操作

显示数据表

show tables;

创建数据表

## 创建表语句
create tables 表名(字段名 类型 约束,字段名 类型 约束,......);
## 注意:mysql是没有序列的,但是可以在创建表的时候直接指定主键是自赠的。
    在字段后使用 auto_increment 表示自增。 ## MySQL常见字段类型
数值类型:
int(长度)表示整数类型的数据
float/double表示浮点数
字符类型:
varchar(长度)动态分配存储长度
char(长度)分配固定长度
日期类型:
date:格式为yyyy-mm-dd
datetime:格式为yyyy-MM-dd hh:mm:ss 占用8个字节
timestamp:特点:会自动进行时区的转换,占用4个字节
time:时间
year:年份
其他类型:
TEXT:字符数据
BLOB:二进制数据 ## 约束
  主键约束:
    在创建表时,在字段后使用 primary key 即可
    在创建表语句的最后面使用 constraint 约束名 pirmary key(主键字段名)
  非空约束:
    在创建表的时候直接在字段后使用 nut null 即可
    注意:
      mysql的非空约束中空字符是可以存储进去的。
  检查约束:
    在mysql中是没有检查约束的,但是使用check关键字又不会报错。
    解决:
      使用代码逻辑进行无效的数据过滤。
      使用 mysql 的存储过程。
  唯一约束:
    在字段名后直接使用 unique 即可
    在创建表语句的最后面使用 constraint 约束名 unique(字段名)
  外键约束:
    在字段名后直接使用 references 父表名(父表主键名)
    在创建表语句的最后面使用 constraint 外键约束名 foreign key(字段名) references 父表名(父表主键名) ## 在表外部添加约束
  ## 主键约束
  alter table 表名 add constraint 约束名 pirmary key(主键字段名);
  ## 唯一约束
  alter table 表名 add constraint 约束名 unique key(字段名);
  ## 非空约束
  alter table 表名 modify 字段名 类型 not null;
  ## 外键约束
  alter table 表名 constraint 外键约束名 foreign key(字段名) references 父表名(父表主键名)on delete set null on update cascase;

修改数据表

添加字段:
alter table 表名 add 字段名 类型 约束;
删除字段:
alter table 表名 drop 字段名;
修改字段类型:
alter table 表名 modify 字段名 新的类型;
修改字段名:
alter table 表名 change 字段名 新的字段名 类型;
修改表名:
alter table 表名 rename as 新的表名;

删除数据表

drop table 表名;

查看表创建语句

show create table 表名;

表数据的操作

查询数据

## 单表查询
## 查询全部
select * from 表名;
## 别名
直接在字段后使用即可
select 字段,字段 别名,字段 from 表名;
## 连接符
使用concat(字段名,“连接的字符”)
## 去除重复
使用 distinct 关键字即可
## 排序
order by 字段名
## where字句
select * from 表名 where 判断条件;
## 分组
group by 字段名
注意:
分组可以和字段一起使用
## having
分组后筛选
## 多表查询
select * from 表名1 别名1,表名2 别名2 where 别名1.字段名 判断条件 别名2.字段名; select * from 表名1 别名1 inner join 表名2 字段名2 on 别名1.字段名 判断条件 别名2.字段名;
## 子查询
select * from 表名 where 字段名 in (select 字段名 from 表名 where 查询条件);

增加数据

insert into 表名 values(值1,值2,值3,...);    全字段插入
insert into 表名(主键字段名,字段,字段,...) values(值1,值2,值3,...); 部分字段插入

删除数据

delete from 表名 where 条件;

修改数据

update 表名 set 字段名=值,字段名=值,... where 条件;

分页查询

select * from 表名 limit x,y;
x:从第几条数据开始查询
y:每页显示多少条数据 ## 每页显示n条,查询第m页的信息
select * from 表名 limit m*n-n,n;

数据库的备份

导出

## 导出整个数据库
mysqldump -u root -p 数据库名>/目录/文件名.sql;
## 只导出一个表
mysqldump -u root -p 数据库名 表名>/目录/文件名.sql;

导入

## 方法一 连接数据库之后输入
mysql>source /目录/文件名.sql;
## 方法二 连接数据库之前输入
mysql -u root -p 数据库名<文件名.sql;
上一篇:【JavaScript从入门到精通】第二课 初探JavaScript魅力-02


下一篇:NewSQL系统综述——NewSQL到底New在哪里?