一、 数据库
1. 数据库的优点:
(1)实现数据持久化
(2)数据结构化
(3)数据的共享性高,冗余度低,易于扩充
(4)由DBMS统一管理和控制,易于维护
2.数据库的概念
数据库(database):存储数据的“仓库”。它保存了一系列有组织的数据。
数据库和数据库软件经常混淆,实际上,数据库软件应称为:DBMS(数据库管理系统)。数据库是通过DBMS创建和操作的容器。
3.数据库的特点
(1)将数据放到表中,表再放到库中
(2)一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。
(3)表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。
(4)表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似java 中的”属性”
(5)表中的数据是按行存储的,每一行类似于java中的“对象”。
二、SQL概述
1、SQL语言概述
SQL(Structure Query Language):专门用来与数据库通信的语言。
SQL的优点:
1、不是某个特定数据库供应商专有的语言,几乎所有DBMS都支持SQL2、简单易学3、虽然简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作
2、SQL 语言分类
(1)DML(Data Manipulation Language):数据操纵语句,用于添加、删除、修改、查询数据库记录,并检查数据完整性
(2)DDL(Data Definition Language):数据定义语句,用于库和表的创建、修改、删除。
(3)DCL(Data Control Language):数据控制语句,用于定义用户的访问权限和安全级别。
DQL
3、DML
DML用于查询与修改数据记录,包括如下SQL语句:
INSERT:添加数据到数据库中
UPDATE:修改数据库中的数据
DELETE:删除数据库中的数据
SELECT:选择(查询)数据
SELECT是SQL语言的基础,最为重要。
4、DDL
DDL用于定义数据库的结构,比如创建、修改或删除数据库对象,包括如下SQL语句:
CREATE TABLE:创建数据库表
ALTER TABLE:更改表结构、添加、删除、修改列长度
DROP TABLE:删除表
CREATE INDEX:在表上建立索引
DROP INDEX:删除索引
5、DCL
DCL用来控制数据库的访问,包括如下SQL语句:
GRANT:授予访问权限
REVOKE:撤销访问权限
COMMIT:提交事务处理
ROLLBACK:事务处理回退
SAVEPOINT:设置保存点
LOCK:对数据库的特定部分进行锁定
三、MySQL
产品特点
MySQL数据库隶属于MySQL AB公司,总部位于瑞典
优点:
成本低:开放源代码,一般可以免费试用性能高:执行很快可信赖:某些非常重要和声望很高的公司都用MySQL来处理自己的重要数据。简单:很容易安装和使用
DBMS分为两类:
基于共享文件系统的DBMS (Access )小型数据库,没有服务端和客户端
基于客户机——服务器的DBMS
(MySQL、Oracle、SqlServer)
MySQl常用命令
(1) 登录:
mysql –h 主机名 –u用户名 –p密码
C:/> mysql -h 192.168.1.45 -u root -p root
(2) 显示所有数据库
show databases;
(3) 进入指定数据库
use 库名
use mysql;
(4)查看库中所有表
show tables from 库名;查看其它库中的所有表
show tables;show tables from mysql;
(5) 查看当前库
select database;
(6) 查看版本
mysql -version;// 进入mysql客户端之前mysql -V; // 进入mysql客户端之前mysql>select version; //进入mysql客户端之后
(7) 新建一个数据库
create database book;
(8) 建表
create table customer(id varchar(30),age int,name varchar(30),birthday date);
(9) 查看表结构
desc customer;
(10)查看表
select *from customer;
(11)查询特定列
select id,name,sex from student;
(12)查询数据并进行筛选
select id,name,sex from student where id>=1003;
(13) 运算符查询
select id,name,sex from student where age>=18 and age <=35;select id,name,sex from student where age between 18 and 35;
(14) 查询变种
select *from student where age=17 or age=35 or age=23;select *from student where age in (18,23,35);select *from student where name like \'%小%\';select *from student where name like \'_明%\';select *from student where email is null;select *from student where email is not null;select *from student order by age;// 升序select *from student order by age desc;//降序//%匹配任意多个字符,_只匹配一个字符
(15) 插入数据
insert into student (id,name)values(1001,\"小明\");// 插入 varchar 或 date 型的数据要用 单引号 引起来
(16) 修改表
update student set name =\'小红\' where id =1001;
(17)删除表记录
delete from student where id =1001;
(18)删除表
drop table customer;// 删除数据库drop database girls;
(19)退出
exit;Ctrl+c;quit;