JAVA企业级开发-sql入门(07)
一、 数据库
什么是数据库? 就是一个文件系统,通过标准SQL语言操作文件系统中数据 ---- 用来存放软件系统的数据
我们今天学习的数据库是mysql。关系型数据库。
什么是关系化数据库 ? 保存关系数据模型的数据库
关系型数据:
1. 常用的关系型数据库
Oracle:甲骨文公司—以前专门数据库厂商,oracle是收费,大型数据库 ,用于任何系统任何平台 ,windows.LINUX 。
MySQL:早期开源免费数据库产品,被oralce收购,从6.0开始出现收费版本。LAMP组合 Linux + Apache + MySQL + PHP 完全开源免费 ,自从mysql被oracle收购后,从6.0开始出现收费版本。
DB2:IBM数据库产品,大型收费数据库。websphere服务器一起使用,也可windows,linux
SYBASE 中等规模数据库,收费。PowerDesigner数据库建模工具
SQL Server 微软公司数据库产品 收费中等规模数据库 ,操作系统要求是windows 结合.net 一起使用
Java开发者主要使用 MySQL 、Oracle、DB2 三种数据库 -- SQL Server
二、 mysql
1. mysql的安装和卸载
1.1 mysql的卸载
a. 知道mysql的安装目录:
在mysql的安装目录。找到my.ini 文件。
找到datadir 并且记录路径。 (mysql的数据文件的目录)
datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
b、打开控制面板—卸载程序
c、卸载mysql
d、删除mysql的安装目录,删除mysql的数据文件目录datadir.第一步中记录的文件目录
mysql默认的数据文件目录,在ProgramDate这个目录,并且这个目录是隐藏目录。需要设置显示隐藏目录。
1.2 mysql的安装
选择自定义按照。第二个
设置mysql数据库的默认编码集
设置mysql的默认字符集
1.3 环境变量
在命令行中,输入mysql –u root –p 的时候,出现mysql不是内部命令。环境变量没有配置。
path后面加入 :;C:\Program Files\MySQL\MySQL Server 5.5\bin
是mysql的安装目录到bin目录
添加path的时候,如果出现 前面的没有分号,需要自己去加上分号;要注意分号的中英文。
按照完成之后,在cmd中输入
mysql –u root –p
出现如下图,表示mysql启动成功。
1.4、重置mysql--root密码
1. 停止mysql服务器:运行? c,在服务管理界面,停止服务
我的电脑---管理—服务和应用程序---服务—mysql 停止
2. 在命令行中输入,打开cmd mysqld --skip-grant-tables,启动服务器,启动服务器光标不懂,一定不要关闭窗口,
3. 新打开cmd,输入mysql -u root -p 这个时候是不需要密码的。
4. use mysql
5. update user set password=password('新密码') where user='root';
flush privileges;
6. 关闭两个cmd窗口。在认为管理器中去结束mysqld的进程。
7. 重启mysql服务
mysql –u root –p
2.2、 mysql的存储结构
一个数据库服务器可以有多个数据库,一个数据库中可以有多个表,一个表中可以有多条数据记录。
三、 sql语言
SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
特点:
非过程性语言。一条语句一个结果。多条语句之间没有影响。
int a = 10;
int b = 20;
int sum = a +b;
sql:不能编写复杂的程序。
为加强SQL的语言能力,各厂商增强了过程性语言的特征
如Oracle的PL/SQL 过程性处理能力
SQL Server、Sybase的T-SQL
SQL是用来存取关系数据库的语言,具有查询、操纵、定义和控制关系型数据库的四方面功能
DDL (数据定义语言)
数据定义语言 - Data Definition Language
用来定义数据库的对象,如数据表、视图、索引等,数据库。
create drop alter
DML (数据操纵语言)
数据处理语言 - Data Manipulation Language
在数据库表中记录 修改,更新,删除
如 update, insert, delete
DCL (数据控制语言)
数据控制语言 – Data Control Language
指用于设置用户权限和控制事务语句
如grant,revoke,if…else,while,begin transaction
DQL (数据查询语言)------不是标准
数据查询语言
– Data Query Language
数据表记录的查询。
select
1、数据库—crud
2、数据表—crud
3、表记录的---crud
3.1、 数据库操作语句
sql语句每一条需要有 分号,表示结束。
3.1.1 创建数据库
语法1,语法2 需要注意;
1.连接到mysql中。
语法1:create database 数据库名;----
练习:
创建一个名称为mydb1的数据库。
可以使用:show databases; ---查询当前服务器所有数据库。
注意:此时的数据库编码格式 mysql的默认编码格式。(安装数据库时候指定的,UTF8)
语法2:create database 数据库名 character set ‘字符集’
创建数据库的同时指定字符集。
如果指定字符集是 utf8 utf-8 是错误滴(mysql不认识UTF-8)。
创建一个使用gbk字符集的mydb2数据库。
如何查看一个数据库的字符集:show create database 数据库名; 查询某个数据库的字符集,以及创建数据库的语句。
语法3:create database 数据库名 character set ‘字符集‘ collate ‘比较规则’
了解
比较规则:数据内的比较方式。 某一个字符的比较规则是有mysql已经设定好了。可以查看mysql的文档。确定某个字符集有那些比较规则。
创建数据库,并且指定数据库的字符集,以及排序方式。(比较规则)
创建一个数据库,并且指定该数据库的编码格式。
练习:
创建一个使用utf8字符集,并带比较规则的mydb3数据库