个人工作五年,一共接触了以下几个数据库,首先我门先大概的了解下:
数据库分析 | SQL | MySQL | DB2 | MongoDB | GaussDB |
平台 | only WINDOWS | Any | Any | Any(32位限制最大文件尺寸不能超过2G) | Any |
是否开源 | N | N(不全,但也便宜) | 只对IBM | Y | Y |
默认端口号 | 1433 | 3306 | 50000--TCP/IP | 27017 | 80 |
可视化 | N | N | Y | Y | N |
优点 | 大型关系行数据库,保守的存储引擎,稳定,运行快 | 短小精悍,服务器可扩展,开放性存储引擎 | 大型数据库,稳定 | 高性能,易部署,易使用,存储方便 | 高性能,存储稳定 |
缺点 | 难部署,难使用,安装包比较大 | 不稳定,易掉线 | 暂无 | 丢包,锁问题 | 难部署 |
下面进入正题,看看基础主流SQL语句的命令
建库
create database 库名
建表
use 库名 /*打开数据库*/ create table 表名 (emp(
id
int
,
ename
varchar
(30),
age
int
,
job
varchar
(20)
);
建索引
CREATE [UNIQUE|CLUSTERED] INDEX INDEX_NAME ON TABLE_NAME(PROPERTY_NAME)
其中UNIQUE和CLUSTERED为可选项,分别是建立唯一索引和聚簇索引,具体解释为:
UNIQUE:表示此索引的每一个索引值只对应唯一的数据。
CLUSTERED:表示要建立的索引时聚簇索引,即索引项的顺序与表中记录的物理顺序一致的索引组织。
增删改查
(1)添加数据记录:
sql="insertinto数据表(字段1,字段2,字段3…)values(值1,值2,值3…)"
sql="insertinto目标数据表select*from源数据表"(把源数据表的记录添加到目标数据表)
(2)删除数据记录:
sql="deletefrom数据表where条件表达式"
sql="deletefrom数据表"(将数据表所有记录删除)
(3)更新数据记录:
sql="update数据表set字段名=字段值where条件表达式"
sql="update数据表set字段1=值1,字段2=值2……字段n=值nwhere条件表达式"
(4)数据记录筛选:
sql="select*from数据表where字段名=字段值orderby字段名[desc]"
sql="select*from数据表where字段名like'%字段值%'orderby字段名[desc]"
sql="selecttop10*from数据表where字段名orderby字段名[desc]"
sql="select*from数据表where字段名in('值1','值2','值3')"
sql="select*from数据表where字段名between值1and值2"