导入:
不论是在生活中还是在工作中,尤其是IT行业,都有着庞大数量的数据需要我们去处理,那么,数据的保存也显得尤为重要,数据库也应运而生。生活中数据库也很常见,银行保存客户信息,公安局保存身份信息等等,都是数据库的体现,数据库就是电子化的文件储存柜。
数据库简介
什么是数据库
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
数据库分类
数据库分为两类:
关系型数据库:MySQL、oracle、SQLserver、...
非关系型数据库:Redis、MongoDB、...
数据库的术语
数据库:一些关联表的集合
数据表:数据的集合,类似电子表格(Excel)
行:一条记录,记录一组相关联的信息
列:一列元素,具有相同数据类型
索引:用于快速访问和查询数据库内容,类似于目录。
主键:每张表中最多只有一个的唯一索引,用于查询。
数据库的安装
安装:`sudo apt-get install mysql-server`
安装时需要进行`root`密码设置和确认,以便将来使用
安装完毕后`mysql`自动启动,如没有自动启动可以手动`sudo mysql service start`
连接测试:
`mysql -h host -u user -p`,敲回车然后输入密码。
`-h`:指定主机
`-u`:指定用户
`-p`:指定密码
当出现`mysql>`时,表示连接成功。
示例:`mysql [-h 127.0.0.1] -u root -p`[]内为本地服务器时,可选填。
说明及简单操作:
`help; 或 \h`,可以查看帮助
`exit; 或 quit; 或 \q` 都可以退出`mysql`
`clear; 或 \c` 结束输入状态,若前面输入代码有误,可以直接结束此次输入
`;` 除`\`外,每个命令都以此结束。
数据定义语言(DDL)
查看数据库:`show databases;` 查看所有的数据库
创建数据库:`create database test;` 创建数据库`test`
删除数据库:`drop database test;` 删除数据库`test`
选择数据库:`use test;` 选择数据库`test`
查看当前数据库:
`shouw tables;` 或 `select database();`
查看数据表:`show tables;` 查看当前数据库下的所有表
创建数据表:`create table players(id int(11), name varchar(30));` 创建数据表`players`
查看表结构:`desc players;` 查看`players`表的结构
查看创建方式:
查看数据库创建方式:`show create database test;`
查看数据表创建方式:`show create table players;`
删除表:`drop table players;` 删除表`players`
指定字符集及储存引擎:
创建时指定:`create table test(id int(11), name varchar(30))engine=InnoDB default charset=utf8;`
永久指定,修改配置文件:`/etc/mysql/mysql.conf.d/mysql.cnf`
`...
[mysqld]
...
#字符集
character-set-server=utf8
#存储引擎
default-storage-engine=InnoDB`
当修改配置文件之后,必须重启服务才能生效
修改表结构(alter):
修改字段类型:`alter table players modify name varchar(40);`
修改字段名称:`alter table players change name nickname varchar(40);`
添加新字段:
在末尾追加:`alter table players add age int(11);`
在指定字段后添加:`alter table players add position after nickname;`
在开头进行添加:`alter table players add pay int(11) first;`
`after、modify`也可以用于`after、first`操作
删除指定字段:`alter table players drop id;`
修改表名:`alter table players rename guys;`