数据库概念
文件作为数据库,数据格式千差万别
将保存数据的地方统一起来
MySQL一款应用软件
用来帮你操作文件的
只要是基于网络通信,底层都是socket!!!
服务端
-socket通信
-收发消息
-解析命令(sql语句)
客户端
-socket通信
-收发消息
-解析命令(sql语句)
DBA:
sql语句优化
RDBMS:数据库管理系统
关系型数据库
存储数据的时候,对于数据有条件限制
数据与数据之间有关联
通常都是以表格的方式存储
第一步需要创建表结构!
关系型数据库:
oracle, sqlite, db2, sql server,MySQL,access
非关系型数据库
数据存储方式 k,v键值对的形式
redis,mongodb,memcache
关系型数据库和非关系型数据库的区别
非关系型数据库的优势: 1、性能 NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高 2、可扩展性 同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。 3、使用场景:日志、埋点、论坛、博客等
关系型数据库的优势: 1、 复杂查询 可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询 2、事务支持 使得对于安全性能很高的数据访问要求得以实现。 3、使用场景:所有有逻辑关系的数据存储
库文件夹操作 增:create database db1 charset utf8; 查:show databases; 改:alter database db1 charset latin1; 删除: drop database db1; 表文件操作 先切换到文件夹下:use db1 增:create table t1(id int,name char); 查:show tables show create table 表名: desc 表名 describe 表名 改:alter table t1 modify name char(3); alter table t1 change name name1 char(2); 删:drop table t1; 数据操作 增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3'); 查:select * from t1; 改:update t1 set name='sb' where id=2; 删:delete from t1 where id=1;
表修改操作:
1、修改字段名:
alter table 表名 rename column A to B
2、修改字段类型:
alter table 表名 alter column 字段名 type not null
3、修改字段默认值
alter table 表名 add default (0) for 字段名 with values
如果字段有默认值,则需要先删除字段的约束,在添加新的默认值,
select c.name from sysconstraints a
inner join syscolumns b on a.colid=b.colid
inner join sysobjects c on a.constid=c.id
where a.id=object_id('表名')
and b.name='字段名'
根据约束名称删除约束
alter table 表名 drop constraint 约束名
根据表名向字段中增加新的默认值
alter table 表名 add default (0) for 字段名 with values
4、增加字段:
alter table 表名 add 字段名 type not null default 0
5、删除字段:
alter table 表名 drop column 字段名;
来源:https://www.cnblogs.com/dongxixi/p/10857672.html