#选择数据库需要考虑的问题:
1、是否开源
开源软件不一定免费:MySQL,MariaDB(这两者语法差不多,MySQL可能闭源,但是MariaDB不会)MongoDB
商业软件一定收费
2、是否跨平台
不跨平台:SQL_Server(微软开发,只在Windows下可用)
跨平台:MySQL,MariaDB,MongoDB,Oracle,DB2
3、公司类型
商业软件:政府部门、金融机构(数据库软件收费较贵,对安全性要求高)
开源软件:民营网站
#MySQL特点
是关系型数据库
1、数据以行和列的形式存储
2、一系列行和列称为表
3、表中每一行叫一个记录
4、表中每一列叫一个字段
5、表和表之间的逻辑关联叫做关系
非关系型数据库
用{"name":"张无忌", "age":13}这样的形式存储。
速度快,但是会产生很多冗余数据
只在信息较少时综合性能高
跨平台
Unix,Linux,Windows上都可以运行
支持多种编程语言
python、java、php......
#mysql服务端操作(ubuntu下)
sudo /etc/init.d/mysql start
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql restart
sudo /etc/init.d/mysql status
#mysql客户端登陆命令
mysql -h主机地址 -u用户名 -p密码
本地连接时-h可以省略
#基本的mysql命令使用规则
1、每条命令必须以;结尾,否则不执行
2、SQL命令不区分大小写
3、使用\c终止SQL命令的执行
#mysql库
在mysql服务之下的一级的单位为库
每个库下存储了若干张表
#mysql库的基本操作
1、查看已有的库:show databases
mysql自带了四个库,不要操作,更不要删除
2、创建库:
create database database_name'
3、显示库的创建过程
show create database existed_database_name;
会显示字符集,默认为latin1
所以创建时要指定字符集
4、指定字符集创建库
create database database_name default charset=utf8;
5、查看当前所在库
select database();
6、切换库
use database_name;
7、查看库中有哪些表
show tables;
8、删除库
drop database database_name
#库的命名规则
1、可以使用数字、字母、_,但是不能使用纯数字
2、库名区分大小写
3、不能重名
4、不能使用特殊字符和mysql的关键字
#表的名词:字段(列)、字段名、记录(行)
#表的基本操作:
1、创建表
create table table_name(
字段名1 数据类型1
字段名2 数据类型2
... ...
)default charset = utf8;
2、查看创建表的语句
show create table table_name;
3、查看表结构
desc table_name;
4、删除表
drop table table_name;
#表的命名规则:同库
#mysql是基于硬盘的数据库
其数据库目录为/var/lib/mysql
#在表中插入记录
insert into 表名 values(值1.1,值2.1 ...),(值1.2,值2.2 ...)
#查询表记录
1、select * from 表 [where 条件]
示例:
select * from name_age where name=="Lucy"
2、select 字段名1,字段名2,... from 表名 [where 条件]
示例:
select name age from name_age
#更改库,表的默认字符集
更改MySQL配置文件实现