常见的关系数据库:
数据库系统 | 所属公司 |
---|---|
Oracle | Oracle (甲骨文) |
DB2 | IBM |
SQL Server | MS |
MySQL | AB-->SUN-->Oracle |
- Oracle:运行稳定,可移植性高,功能齐全,性能超群!适用于大型企业领域,但是价格昂贵。
- DB2:速度快、可靠性好,适于海量数据,恢复性极强。适用于大中型企业领域,但是价格昂贵。
- SQL Server:全面,效率高,界面友好,操作容易,但是不跨平台。适用于中小型企业领域。
- MySQL:开源,体积小,速度快。适用于中小型企业领域。
数据库操作命令
-
启动服务
mysql.server start
-
使用密码连接
mysql -u root -p
-
关闭服务
mysql.server stop
-
查看数据库:
show databases;
-
选择数据库:
use database_name;
-
创建数据库:
create database database_name;
-
删除数据库:
drop database database_name;
数据库常用类型
与java对比:
Java | MySQL |
---|---|
int | INT |
long | BIGINT |
BigDecimal | DECIMAL |
boolean | BIT |
Date/Calender | DATE/DATETIME/TIMESTAMP |
String | VARCHAR |
基本SQL操作
创建表
CREATE TABLE table_name (
column_name 列的类型 [约束] ,
column_name 列的类型 [约束],
column_name 列的类型 [约束],
...
);
表的约束(针对于某一列):
- 非空约束:NOT NULL(NK),不允许某列的内容为空。
- 设置列的默认值:DEFAULT。
- 唯一约束:UNIQUE(UK),在该表中,该列的内容必须唯一。
- 主键约束:PRIMARY KEY(PK), 非空且唯一。
- 主键自增长:AUTO_INCREMENT,从1开始,步长为1。(MySQL特有)
- 外键约束:FOREIGN KEY(FK),A表中的外键列的值必须参照于B表中的某一列(B表主键)-明天讲解。
插入语句:一次插入操作只插入一行.
INSERT [INTO] table_name (column1,column2,column3...)
VALUES (value1,value2,value3...);
删除操作:
DELETE FROM tablename [WHERE condition];
如果省略了where子句,则全表的数据都会被删除
更新操作:
UPDATE table_name
SET columnName = value [, columnName = value, ...]
[WHERE condition];
如果省略了where子句,则全表的数据都会被修改。
注意:没有FROM
简单的查询操作:
SELECT {*/column_name, ...}
FROM table_name