关系型数据库  

   采用了关系模型来组织数据的数据库;关系模型指的就是二维表格模型  —Oracle,Microsoft SQL Server,MySQL,SQLite

非关系型数据库  

Not Only SQL 强调Key-Value 的方式存储数据  —MongoDB,Redis

###关系型数据库的使用场景

1,Web网站系统 
2,日志记录系统
3,数据仓库系统
4,嵌入式系统

SQL语言的分类

 DQL   数据查询语言    —select
 DML  数据操作语言    —insert,update,delete
 DDL   数据定义语言    —create,drop
 TPL    事务处理语言    —begin,transaction,commit,rollback
 DCL   数据控制语言    —grant,revoke

MySQL数据类型

int,bit             —整数
decimal            —小数
varchar,char      —字符串
date,time,datetime   —日期时间
enum           —枚举类型

Mysql字段约束

约束参数 
primary  —主键约束

not null  —非空约束
unique   —唯一约束
default   —默认约束
 

Mysql数据库常用命令

查看数据库列表:show databases;
创建数据库:create database 数据库名;
切换到指定数据库:use 数据库名;
显示数据库列表:show databases;
显示数据库建立语句:show create database 数据库名;
修改数据库:alter database 数据库名 选项;
删除数据库:drop database 数据库名;

MySQL数据表命令 

创建表:CREATE TABLE 表名(列1 属性,列2 属性, 列3 属性);
查看数据表列表:SHOW TABLES;
查看数据表结构:DESC 表名;
查看数据表建表语句:show create table 数据表名;
重命名表:ALTER TABLE 表名 RENAME 新表名;
修改数据表:alter table 数据表名 选项;
删除表:DROP table 表名;

新增字段:alter table 数据表名 add column 字段名 类型 修饰语句 位置
修改字段定义:alter table 数据表名 modify column 字段名 新的定义
修改字段名及定义:alter table 数据表名 change column 旧字段名 新字段名 新的定义;
删除字段:alter table 数据表名 drop column 字段名;

添加列:ALTER TABLE 表名 ADD 列名 属性;
修改列属性:ALTER TABLE 表名 MODIFY 列名 属性;
重命名列:ALTER TABLE 表名 CHANGE COLUMN 列名 新列名 属性;
删除列:ALTER TABLE 表名 DROP COLUMN 列名;
 

记录操作命令

新增记录:insert into 数据表名(字段1,字段2,字段n) values(值1,值2,值n);

如:insert into news(title,author,content) values('新闻标题','作者','新闻详细内容');

查看记录:select 字段列表 from 数据表名 where 条件 order by 字段名 desc limit m,n

如:select * from news;
select * from news where id=10;
select * from news order by id desc limit 10;

注意:select语句是SQL中最为强大与复杂的查询语句,有七大子句,每段子句都可以省略,如果出现必须在正确的位置顺序上,不可调换先后位置。

修改记录:update 数据表名 set 字段1=值1 and 字段2=值2 where 条件;

如:update news set title='新的新闻标题' where id=1;

删除记录:delete from 数据表名 where 条件;

插入行:

INSERT INTO 表名(列1,列2,列3) VALUES(值1,值2,值3);

查询行:
1、SELECT 列1,列2 FROM 表名;
2、SELECT * FROM 表名;
3、SELECT * FROM 表名 WHERE 列 运算符 值;

删除行:DELETE FROM 表名 WHERE 列 运算符 值;
更新行:UPDATE 表名 SET 列=新值 WHERE 列 运算符 值;

创建用户:CREATE USER 用户名 IDENTIFIED BY 密码;
重命名用户:RENAME USER 用户名 TO 新用户名;
删除用户:DROP USER 用户名;

修改密码:SET PASSWORD FOR 用户名 = PASSWORD('新密码');

授予权限:GRANT ALL PRIVILEGES ON *.* TO '用户名'@'主机' IDENTIFIED BY '密码';
撤销权限:REVOKE ALL PRIVILEGES FROM 用户名;

备份数据库:mysqldump -uroot -p'密码' 库名 > 备份文件名.sql
恢复数据库:mysql -uroot -p'密码' 库名 < 备份文件名.sql

显示支持的编码:SHOW CHARACTER SET;
显示当前库的编码:
SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';

创建指定编码的数据库:CREATE DATABASE 库名 DEFAULT CHARACTER SET utf8,DEFAULT COLLATE uft8_general_ci;