文章目录
数据库
数据库
数据库是按照数据结构来组织、存储和管理数据的仓库
每个数据库都有多个API用于创建,访问,管理,搜索和复制所保存的数据
RDBMS(relational database management system)关系型数据管理系统特点:
- 数据以表格的形式出现
- 每行为各种记录名称
- 每列为记录名称所对应的数据域
- 许多行和列组成一个表单
- 若干表单组成database
数据模型
- 层次模型
- 网状模型
- 关系模型
关系模型:容易理解和使用
SQL
SQL是结构化查询语言的缩写。SQL语句既可以查询数据库中的数据,还可以添加、更新和删除数据库中的数据,还可以进行数据的管理和维护。
SQL语言定义了几种操作数据库的能力
- DDL data definition language(定义数据,即创建表,删除表,修改表的结构)
- DML data manipulation language (添加、删除、更新数据的能力)
- DQL data query language (查询数据)
mysql
- 插入
1 | INSERT INTO <TABLE> (col1, col2, col3) VALUES (value1, value2, value3); |
- 添加TABLE
1 | CREATE TABLE employee (id INT(10), name CHAR(20), phone INT(12)); |
- 约束分类
主键 | 默认值 | 唯一 | 外键 | 非空 |
---|---|---|---|---|
PRIMARY KEY | DEFAULT | UNIQUE() | FOREIGN KEY() | NOT NULL |
1 | CREATE TABLE employee |
- 通过外部文件来建立sql
1 | source <filename> |
- 删除数据库,删除表
1 | drop database <database-name>; |
- 重命名表
1 | rename table <old-name> to <new-name>; |
- 修改表的结构
- 增加一列
1 | ALTER TABLE <table-name> ADD COLUMN <col-name> <col-type> <constraint> AFTER <col-name> |
- 删除一列
1 | ALTER TABLE <table-name> DROP COLUMN <col-name>; |
- 更改列
1 | ALTER TABLE <table-name> CHANGE <old-col-name> <new-col-name> <type> <constraint>; |
- 修改表中的值
1 | UPDATE <table-name> SET <col>=<value> WHERE <condition>; |
- 建立索引
1 | ALTER TABLE <table-name> ADD INDEX <index-name>(<col-name>); |
使用以下命令可以查看索引
1 | SHOW INDEX FORM <table-name>; |
- 视图
视图是从一个或多个表中导出来的表,是一种虚拟存在的表。它就像一个窗口,通过这个窗口可以看到系统专门提供的数据
创建视图的语句:
1 | CREATE VIEW <view-name>(col-1, col-2, col-3) AS SELECT col-1, col-2, col-3 FROM <table-name>; |
- 从文件导入数据,从数据库导出文件
1 | LOAD DATA INFILE <file-path> INTO TABLE <table-name>; |
- 备份
mysqldump 是 MySQL 用于备份数据库的实用程序。它主要产生一个SQL脚本文件,其中包含从头重新创建数据库所必须的命令
1 | mysqldump -u root (database-name) > (database-backup-name) |
恢复
1 | mysql -u root (database-name) < bak.sql |
1 | source <file-name>; |