数据库

数据库(DataBase)即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。

数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

数据库管理软件分类

#数据库分类:
  关系型:sqllite,db2,oracle,access,sql server,MySQL等,注意:sql语句通用
  非关系型:mongodb,redis,memcache等

#简单理解:
    关系型数据库需要有表结构
    非关系型数据库是key-value存储的,没有表结构

sql语句

sql语句是统一查询的语法,通常,它每条语句后面必须跟一个分号;,作为结束标志。

# SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统, SQL语言由IBM开发。
# SQL语言分为3种类型:
1、DDL语句    数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
2、DML语句    数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT
3、DCL语句    数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE

库的增删改查

库的增查改删:createshowalterdrop

  • 增加库
create database my_db1;
create database my_db2 charset='gbk'	# 指定字符编码
  • 查看库
show databases;	# 查看所有库
show create database my_db1;		# 查看一某个库
  • 修改库
alter database my_db2 charset='utf8';
  • 删除库
drop database my_db2;

表的增删改查

操作表,一般需要在表所在的库内操作。

  • 进入库,切换库
use my_db1;
  • 查看所在的库
select database();
  • 增加表
create table t1(id int, name char(6));	# 新建表t1,具有两个字段:id、name
  • 查看表
show tables;	# 查看当前库所有表
show create table t1;	# 查看指定表
describe t1;	 # 查看指定表,可简写为 desc t1;
  • 修改表
alter table t1 modify name char(16)		# 修改t1表name字段属性为char(16)
  • 删除表
drop table t1;
  • 操作不同库的表,绝对路径, 路径不存在时报错
create table my_db2.t1(id int, name char(4));

数据的增删改查

一定要先有库 有表 最后才能操作记录。

  • 增加数据
insert into t1 values(1, 'jack');
insert t1 values(2,'jane');	# 可省略 into
insert t1 values(3,'tom'),(4,'lili');	# 同时插入多条数据
  • 查询数据
select * from t1;	# 查询t1表的所有字段下数据
select name from t1;	# 查询t1表内name字段下的数据
  • 修改数据
update t1 set name='dsb' where id >= 1;	# 修改指定条件的数据
update t1 set name='dsb';	# 修改所有的数据
  • 删除数据
delete from t1 where id > 1;	# 删除指定条件的数据
delete from t1 where name = 'jack';	
delete from t1;		# 清空表,即删除表内所有数据