mysql

文章目录

数据库

数据库

数据库是按照数据结构来组织、存储和管理数据的仓库

每个数据库都有多个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. 插入
1
INSERT INTO <TABLE> (col1, col2, col3) VALUES (value1, value2, value3);
  1. 添加TABLE
1
CREATE TABLE employee (id INT(10), name CHAR(20), phone INT(12));
  1. 约束分类
主键默认值唯一外键非空
PRIMARY KEYDEFAULTUNIQUE()FOREIGN KEY()NOT NULL
1
2
3
4
CREATE TABLE employee
(
id INT(10) PRIMARY KEY
)
  1. 通过外部文件来建立sql
1
source <filename>
  1. 删除数据库,删除表
1
2
3
drop database <database-name>;

drop table <table-name>;
  1. 重命名表
1
rename table <old-name> to <new-name>;
  1. 修改表的结构
  • 增加一列
1
2
ALTER TABLE <table-name> ADD COLUMN <col-name> <col-type> <constraint> AFTER <col-name>
ALTER TABLE employee ADD COLUMN height int(10) DEFAULT 666 FIRST;
  • 删除一列
1
ALTER TABLE <table-name> DROP COLUMN <col-name>;
  • 更改列
1
2
ALTER TABLE <table-name> CHANGE <old-col-name> <new-col-name> <type> <constraint>;
ALTER TABLE <table-name> MODIFY <old-col-name> <new-col-name> <type> <constraint>;
  • 修改表中的值
1
2
UPDATE <table-name> SET <col>=<value> WHERE <condition>;
DELETE FROM <table-name> WHERE <condition>;
  • 建立索引
1
2
ALTER TABLE <table-name> ADD INDEX <index-name>(<col-name>);
CREATE TABLE <index-name> ON <table-name>(<col-name>);

使用以下命令可以查看索引

1
SHOW INDEX FORM <table-name>;
  1. 视图

视图是从一个或多个表中导出来的表,是一种虚拟存在的表。它就像一个窗口,通过这个窗口可以看到系统专门提供的数据

创建视图的语句:

1
CREATE VIEW <view-name>(col-1, col-2, col-3) AS SELECT col-1, col-2, col-3 FROM <table-name>;
  1. 从文件导入数据,从数据库导出文件
1
2
3
LOAD DATA INFILE <file-path> INTO TABLE <table-name>;

SELECT <col-name> INTO OUTFILE <file-path> FROM <table-name>;
  1. 备份

mysqldump 是 MySQL 用于备份数据库的实用程序。它主要产生一个SQL脚本文件,其中包含从头重新创建数据库所必须的命令

1
2
3
mysqldump -u root (database-name) > (database-backup-name)

mysqldump -u root (database-name) (table-name) > (database-backup-name)

恢复

1
mysql -u root (database-name) < bak.sql
1
source <file-name>;
分享到: