一、MySQL数据库基础
1.什么是数据库?
储存数据一般用文件就可以,那么为什么要用数据库呢?
文件保存数据是有缺点的:
- 文件的安全性问题
- 文件不利于查询和对数据的管理
- 文件不利于存放海量数据
- 文件在程序中控制不方便
为了解决上述问题,数据库就出现了,数据库能更有效的管理数据。
注意:
数据库的水平是衡量一个程序员水平的重要指标。
因此,数据库是高效的存储和处理数据的介质(介质主要是两种:磁盘和内存)。
2.目前主流的数据库
- SQL Server :微软的产品,中大型项目。
- Oracle:甲骨文产品,java程序员,大型项目。
- MySQL:sun公司产品,中型和大型项目。并发性好,不适合做复杂性的业务。
- DB2:IBM公司,处理海量数据,大型项目。
- informix:IBM公司,安全性强。
3.mysql的基本使用
1.连接到mysql
mysql [-h 主机] -u 用户 -p 举例:
说明:
1.如果没有写 -h 127.0.0.1默认是连接本地。
2.如果需要登录到另外一个mysql,则需要修改配置,一般情况不让远程登录。
2.mysql关闭和启动
关闭:service mysqld stop
注意:我在练习的时候是在root用户下开启的mysql,在关闭的时候在普通用户状态下关闭失败,在root用户下才关闭成功。
启动:service mysqld start
可见mysql在启动的时候在任意模式下都是ok的。。。
重启:service mysqld restart
显然mysql在root用户下可以完成重启,在admin一般用户下不能完成重启操作。
3.数据库服务器、数据库和表的关系
所谓安装数据库服务器,只是在机器上安装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
数据库服务器、数据库和表的关系:
建库基本语句:
create database 库名;
使用库:
use 库名;
注意:创建一个数据库就一定要使用库,才能在这个库里面继续进行操作。
4.数据在数据库中的存储方式
建表基本语法:
create table 表名(
字段1 列类型1,
字段2 列类型2,
...
字段n 列类型n
);
create table employee(name varchar(10),age int,sal int);
向表中插入数据:
insert into 表名(字段1,字段2,...) values(values1,values2);
insert into employee values(“张飞”,20,1000);
查看表中数据:
select * from 表名;
5.SQL分类
DDL数据定义语言,用来维护存储数据的结构(代表指令:create,drop,alter)
DML数据操纵语言,用来对数据进行操作(代表指令:insert,delete,update)
DML又单独分了一个DQL(数据查询语言如select)
DCL数据控制语言,主要负责权限管理事务(指令代表:grant,revoke,commit)
这些指令的用法后面会学习!