常见的关系数据库:
| 数据库系统 | 所属公司 |
|---|---|
| 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