数据库介绍
什么是数据库
数据库用于数据保存,相对文件,有以下优点:
- 数据库保存数据更为安全
- 有利于查询和对数据的管理
- 可以存放海量的数据
- 可以在程序中控制
数据库:高效的存储和处理数据的介质(介质主要是两种:磁盘和内存)
数据库分类
- SQL Server:.Net程序员最爱,适合处理中大型项目。
- Oracle:Java程序员使用,处理中大型项目,适合处理复杂的业务逻辑,对并发来说不如MySQL。
- MySQL:适合处理中大型项目。并发性好,但是不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。
- DB2:适合处理海量数据,大型项目,功能强悍。
- informix:安全性强。
MySQL的基本操作
启动和关闭数据库
Windows:service mysqld start/stop
CentOS 7:systemctl start/stop mysqld.service
没有错误提示即为操作成功。
连接mysql数据库
mysql [-h 主机] -u 用户 -p
- 如果没有写-h 127.0.0.1默认是连接本地
- 如果需要登录到另外一个mysql,则需要修改配置,一般情况下不远程登录
查看已建立的数据库
mysql>show databases;
创建和删除数据库
创建数据库
mysql>create database [if not exist ] 库名[default] charset=utf8 [default] collate utf8_genneral_ci;
创建规则:字符集-utf8 校验规则-utf8_general_ci
也可以使用默认方式进行数据库的创建:
mysql>create database 库名;
接下来使用命令来查看数据库的创建规则:
mysql>show create database 库名;
这里能够看到,系统的默认字符集就是utf8
字符集和校验规则
字符集
不同的字符集适合不同的语言。例如使用中文就是utf8字符集。
校验规则
在utf8字符集中包含两种校验规则:utf8_general_ci(不区分大小写) 和 utf8_general_bin(区分大小写)
不同的校验规则会影响数据的排序。
删除数据库*(不轻易尝试 )
mysql>database [if exists] 表名;
使用数据库
mysql>use 库名;
创建和删除表
创建表
mysql>create table 表名(
字段1 列类型1,
字段2 列类型2。
…
字段n 列类型n
);
删除表
mysql>drop table [if exists] 表名;
查看表结构
mysql>desc 表名;
查看表中数据
mysql>select * from 表名;
由于我们还没有对表进行插入数据,所以显示Empty set.
修改表
修改表名
mysql>alter table 表名 rename to 新的表名;
修改字符集
mysql>alter table 表名 charset=gbk;
添加字段
mysql>alter table 表名 add 字段名 字段类型 comment ‘备注’ after 字段名;
修改字段名
mysql>alter table 表名 change 原字段名 新字段名 列类型;—新字段需要完整的定义
修改列类型
mysql>alter table 表名 modify 字段名 新的列类型;
删除字段(删除字段一定要谨慎,删除字段及其对应的列数据都会删除 )
mysql>alter table 表名 drop 字段名;