### 1.1数据库介绍
1.java中创建对象:存储在堆内存中,可以通过io流将数据存储到磁盘
内存存储数据的优点 速度快 不能持久化存储,是临时数据
磁盘文件 数据可以永久保存 操作数据不方便,
数据库 永久保存,查询速度快,数据管理方便, 占用资源,需要购买
常见的数据库:
mysql,oracle,DB2,SQL Service
Structured Query Language 结构化查询语言
1) 是一种所有关系型数据库的查询规范,不同的数据库都支持。
2) 通用的数据库操作语言,可以用在不同的数据库中。
3) 不同的数据库 SQL 语句有一些区别
分类:
1) Definition Language ( DDL 数据定义语言 ) 如:建库,建表
2) Manipulation Language(DML 数据操纵语言),如:对表中的记录操作增删改
3) Query Language(DQL 数据查询语言),如:对表中的查询操作
4) Control Language(DCL 数据控制语言),如:对用户权限的设置
1) 每条语句以分号结尾,如果在 SQLyog 中不是必须加的。
2) SQL 中不区分大小写,关键字中认为大写和小写是一样的
3) 3 种注释:
注释的语法 说明
--空格 单行注释
/* */ 多行注释
# 这是 mysql 特有的注释方式
create database (数据库名);
例:create database db1;
CREATE DATABASE IF NOT EXISTS 数据库名;
例:create database if not exists db2;
CREATE DATABASE 数据库名 CHARACTER SET 字符集;
例:create database db3 default character set gbk;
-- 查看所有的数据库
show databases;
-- 查看某个数据库的定义信息
show create database db3;
show create database db1;
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;
例:alter database db3 character set utf8;
DROP DATABASE 数据库名;
--查看正在使用的数据库
SELECT DATABASE(); 使用的一个 mysql 中的全局函数
使用/切换数据库
USE 数据库名;
###1.5DDL表操作
创建表的格式
CREATE TABLE 表名 (
字段名 1 字段类型 1,
字段名 2 字段类型 2
);
常用的数据类型:
int double varchar date--日期类型,格式为yyyy-MM-dd
例:
create table student (
24 / 33
id int, -- 整数
name varchar(20), -- 字符串
birthday date -- 生日,最后没有逗号
);
SHOW TABLES; --查看数据库中的所有表
DESC 表名; --查看表结构
SHOW CREATE TABLE 表名;
CREATE TABLE 新表名 LIKE 旧表名;
例:
-- 创建一个 s1 的表与 student 结构相同
create table s1 like student;
desc s1;
DROP TABLE 表名;
DROP TABLE IF EXISTS 表名;
添加表列 ADD
ALTER TABLE 表名 ADD 列名 类型;
例:
alter table student add remark varchar(20);
修改列类型 MODIFY
ALTER TABLE 表名 MODIFY 列名 新的类型;
例:
alter table student modify remark varchar(100);
修改列名 CHANGE
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
例:
alter table student change remark intro varchar(30);
删除列 DROP
ALTER TABLE 表名 DROP 列名;
例:
alter table student change remark intro varchar(30);
修改表名
RENAME TABLE 表名 TO 新表名;
例:
rename table student to student2;
修改字符集 character set
ALTER TABLE 表名 character set 字符集;
例:
alter table student2 character set gbk;