精华内容
下载资源
问答
  • 功能 - 核对两个数据库结构,并创建表、修改
  • MySQL创建数据库和创建数据表

    万次阅读 多人点赞 2019-10-20 23:44:40
    MySQL 创建数据库和创建数据表 MySQL 是最常用的数据库,在...数据库在操作时,需要使用专门的数据库操作规则语法,这个语法就是SQL(Structured Query Language) 结构化查询语言。 SQL 的主要功能是和数据库...

    MySQL 创建数据库和创建数据表

    MySQL 是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称CRUD。

    在这之前,需要先安装好 MySQL ,然后创建好数据库、数据表、操作用户。

    一、数据库操作语言

    数据库在操作时,需要使用专门的数据库操作规则和语法,这个语法就是 SQL(Structured Query Language) 结构化查询语言。

    SQL 的主要功能是和数据库建立连接,进行增删改查的操作。SQL是关系型数据库管理系统的标准语言。

    SQL 语言的作用:

    1. 数据定义语言 DDL(Data Definition Language) 。用于创建数据库,数据表。

    2. 数据操作语言 DML(Data Manipulation Language) 。用于从数据表中插入、修改、删除数据。

    3. 数据查询语言 DQL(Data Query Language) 。用于从数据表中查询数据。

    4. 数据控制语言 DCL(Data Control Language) 。用来设置或修改数据库用户或角色的权限。

    使用 SQL 操作数据库时,所有的 SQL 语句都以分号结束。(切换数据库时可以不用分号)

    在 SQL 语句中,不区分大小写,编写 SQL 语句时可以根据情况用大小写的区别来增加可读性。

    二、创建数据库

    1. 连接 MySQL

    输入 mysql -u root -p 命令,回车,然后输入 MySQL 的密码(不要忘记了密码),再回车,就连接上 MySQL 了。

    mysql -u root -p

    最初,都是使用 root 用户登录,工作中如果一直用 root 用户登录,因为权限太大,风险是很大的,所以等创建好权限适合的用户后,就不要经常登录 root 用户了。

    2. 查看当前的数据库

    使用 show databases; 查看当前安装的 MySQL 中有哪些数据库。

    show databases;

    刚安装 MySQL 时,默认有四个数据库,information_schema,mysql,perfomance_schema,sys 。通常情况下,我们不会直接使用这四个数据库,但千万不要把这四个数据库删了,否则会带来很多不必要的麻烦。如果不小心删了,建议是重新安装 MySQL ,在重装之前把自己的数据迁移出来备份好,或者从其他服务器上迁移一个相同的数据库过来。

    3. 创建数据库

    使用 create database 数据库名; 创建数据库。

    create database MyDB_one;

    创建数据库成功后,数据库的数量变成了5个,多了刚才创建的 MyDB_one 。

    4. 创建数据库时设置字符编码

    使用 create database 数据库名 character set utf8; 创建数据库并设置数据库的字符编码。

    create database MyDB_two character set utf8;
    

    直接创建的数据库,数据库的编码方式是 MySQL 默认的编码方式 latin1 (单字节编码) ,通常我们会在数据库中存放中文数据,所以最好把数据库的编码方式设置成 utf-8 ,这样中文才能正常显示。

    create database MyDB_three charset utf8;

    character set 可以缩写成 charset ,效果是一样的。

    5. 查看和显示数据库的编码方式

    使用 show create database 数据库名; 显示数据库的创建信息。

    show create database MyDB_one;
    show create database MyDB_two;

    如果不知道一个数据库的编码方式是什么,可以使用 show create database 数据库名 来查看数据库的编码方式。可以看到刚才创建的 MyDB_one 的编码方式是 MySQL 的默认编码 latin1 ,MyDB_two 的编码方式是 utf-8 。

    当然,这种方式不能在创建的同时显示,只能查看一个已经存在的数据库的编码方式。

    6. 使用 alter database 数据库名 character set utf8; 修改数据库编码

    alter database MyDB_one character set utf8;

    如果一个数据库的编码方式不符合使用需求,可以进行修改。刚才创建的 MyDB_one 经过修改后,编码方式也变成了 utf-8 。

    7. 进入或切换数据库

    使用 use 数据库名 进入或切换数据库。

    use MyDB_one
    use MyDB_two;

    刚连接上 MySQL 时,没有处于任何一个数据库中,如果要使用某一个数据库,就需要进入到这个数据库中。

    use 数据库名 这个命令后面的分号可以省略,这是 SQL 语句中唯一可以省略分号的语句。

    8. 显示当前数据库 select database();

    select database();

    进入数据库中,可以使用 select database(); 来查看当前处于哪个数据库中。长时间操作数据库时,在很多数据库中来回切换后,查看当前的数据库,避免操作错了数据库。

    三、创建数据表

    1. 查看当前数据库中的表

    使用 show tables;查看当前数据库中有哪些表。

    show tables;
    

    在刚才创建的数据库 MyDB_one 中,还没有创建任何表,所以当前是空的。

    2. 创建表

    使用 create table 表名(字段1 字段类型,字段2 字段类型,字段3 字段类型,…); 来创建一张表。

    create table Phone_table(pid INT, name CHAR(20), price INT);

    在 MyDB_one 中创建了一个叫 Phone_table 的数据表,这张表有三个字段 pid,name,price 。为了增加 SQL 的可读性,字段名我用的是小写,字段类型用大写。

    3. 显示表信息

    用 show create table 表名; 来显示已创建的表的信息。

    show create table Phone_table;

    使用 show create table 表名;  可以显示表的字段信息, MySQL 的引擎,和默认的字符编码等信息。与显示数据库信息一样,show 只能显示已经创建了的数据表的信息,不能在创建的同时显示信息。

    如果想更好地展示表的字段信息,可以使用 desc 表名; 来显示表的字段信息。

    4. 给表增加字段

    使用 alter table 表名 add 字段名 数据类型; 为已存在的表添加一个新字段。

    alter table Phone_table add color CHAR(20);

    添加后,刚才的表中多了一个字段,新增成功。

    5. 删除表的字段

    使用 alter table 表名 drop 字段名; 删除一个表中已存在的字段。

    alter table Phone_table drop price;

    删除字段后,表中不再有该字段。

    6. 修改字段的数据类型

    使用 alter table 表名 modify 字段名 数据类型; 修改表中现有字段的数据类型。

    alter table Phone_table modify name VARCHAR(12);

    修改之后,该字段的数据类型发生改变。

    7. 修改字段的数据类型并且改名

    使用 alter table 表名 change 原字段名 新字段名 数据类型; 修改表中现有字段的字段名和类型。

    alter table Phone_table change name pname CHAR(18);

    现在,将表的 name 改成了 pname ,同时修改了 pname 的数据类型。

    四、MySQL 常用字段类型

    一个数据表是由若干个字段组成的,一个表十几个字段也很正常,每个字段表示不同的信息,需要使用不同类型的数据。

    所以在创建表的时候,要为每个字段指定适合的数据类型。

    MySQL 中常用的字段类型有以下这些:

    1. 整数类型

    数据类型数据范围
    TINYINT-128 -- 127
    SMALLINT-32768 -- 32767
    MEDIUMINT-2^23 -- 2^23-1
    INT-2^31 -- 2^31-1
    BIGINT-2^63 -- 2^63-1

    2. 字符串类型

    数据类型字节范围用途
    CHAR(n)0 -- 255字节定长字符串
    VARCHAR(n)0 -- 65535字节变长字符串
    TEXT0 -- 65535字节长文本数据
    LONGTEXT0 -- 2^32-1字节极大文本数据
    BLOB0 -- 65535字节二进制长文本数据
    LONGBLOB0 -- 2^32-1字节二进制极大文本数据

    3. 小数类型

    m 表示浮点数的总长度,n 表示小数点后有效位数。

    数据类型数据用法数据范围
    FloatFloat(m,n)7位有效数
    DoubleDouble(m,n)15位有效数
    DecimalDecimal(m,n)28位有效数

    4. 时间类型

    数据类型格式用途
    DATEYYYY-MM-DD日期
    TIMEHH:MM:SS时间
    YEARYYYY年份
    DATETIMEYYYY-MM-DD HH:MM:SS日期和时间
    TIMESTAMP10位或13位整数(秒数)时间戳

    5. 枚举类型

    enum(枚举值1,枚举值2,...)

    枚举类型只能在列出的值中选择一个,如性别。

     

     

    展开全文
  • 数据库的定义、表的建立与维护、数据备份(命令行操作) 1、了解并掌握数据库和数据表基本操作 2、了解并掌握数据备份操作
  • 创建和维护数据库

    2015-06-16 17:14:27
    二、结构和数据分两步进行了操作(推荐);那么第一种方法注意在ACCESS主窗口中区域左上角的"空白数据库"按钮。该按钮和"文件"菜单中的"新建"按钮都可以展现主窗口右侧的"空白数据库"区域。单击二者中的任何一个按钮...
  • MySQL—DDL操作1(创、查、删、改数据库和表) 知识大纲 SQL语句的分类(什么是DDL) 操作Database 表结构操作TABLE 学习任务 操作Database 创建数据库 查看有哪些数据库 删除数据库 选择数据库 查看当前...

    MySQL—DDL操作1(创、查、删、改数据库和表)

    知识大纲

    • SQL语句的分类(什么是DDL)

    • 操作Database

    • 表结构操作TABLE

    学习任务

    • 操作Database
      1. 创建数据库
      2. 查看有哪些数据库
      3. 删除数据库
      4. 选择数据库
      5. 查看当前正在使用哪个数据库
    • 表结构操作TABLE
      1. 查看当前数据库所有表
      2. 创建表结构
      3. 查看表结构
      4. 删除表结构
      5. 修改表结构
    • 小练习

    SQL语句分类

    名字类型作用的对象作用
    DDL 英文全称 (Data Definition Language)数据定义语言库、表、列创建、删除、修改、库或表结构,对数据库或表的结构操作
    DQL 英文全称(Data Query Language)数据查询语言数据库记录(数据)查、用来查询数据,对表记录的查询
    DCL 英文全称(Data Control Language)数据控制语言数据库用户用来定义访问的权限和安全级别,对用户的创建,及授权
    DML 英文全称(Data Manipulation Language数据操作语言数据库记录(数据)增、删、改,对表记录进行更新(增、删、改)

    DDL[数据定义语言]

    DDL 用于结构定义、操作方法定义等。

    包括:数据段、数据库、表、列、索引等数据库对象操作。

    主要的语句关键字包括: create drop alter等

    操作Database

    注意:database 不能改名。一些可视化工具可以改名,它是建新库,把所有表复制到新 库,再删旧库完成的。

    在这里插入图片描述

    1.创建数据库

    create database 数据库名 [charset 字符集]; (关键字大写效果:CREATE DATABASE 数据库名;)

    如果不指定字符集,则按照安装 mysql 服务时选择的默认字符集。例如:

    #创建数据库
    #方式-1:直接创建[采用MySQL默认字符集latin1 -- cp1252 West European]
    CREATE DATABASE mysql03;
    
    #方式-2:创建并指定字符集[utf8 -- UTF-8 Unicode]
    CREATE DATABASE mysql04 CHARACTER SET utf8;
    
    #查看校对规则
    SHOW CHARACTER SET;
    
    #方式-3:创建并指定字符集[utf8]和校对规则[utf8_general_ci]
    CREATE DATABASE mysql05 CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    #创建数据库[若数据库不存在]
    #IF EXISTS[删除表使用过]
    CREATE DATABASE IF NOT EXISTS mysql05;
    

    2.查看有哪些数据库

    show databases;

    提示:当前用户有权限查看的

    #查看有哪些数据库
    SHOW DATABASES;
    

    3.删除数据库

    drop database 数据库名;

    #删除数据库[直接删除]
    DROP DATABASE mysql03;
    
    #删除数据库[判断删除]
    DROP DATABASE IF EXISTS mysql04;
    DROP DATABASE IF EXISTS mysql05;
    

    4.选择数据库

    use 数据库名;

    #定位数据库
    USE mysql01;
    

    5.查看当前正在使用哪个数据库

    select database();

    注意:要操作表格和数据之前必须先说明是对哪个数据库进行操作,否则就要对所有 对象加上“数据库名.”。

    #查看当前正在使用的数据库
    SELECT DATABASE();
    
    #跨数据库查询表数据[数据库名.表名]
    #empinfo[mysql02]
    #SELECT * FROM mysql01.empinfo;
    SELECT * FROM mysql02.empinfo;
    

    表结构操作 TABLE

    1.查看当前数据库所有表

    show tables; #前面必须有 use 数据库名语句,否则报错

    show tables from 数据库名;

    #前往mysql02数据库
    USE mysql02;#SELECT DATABASE() -> mysql02
    #查看当前数据库所有表
    SHOW TABLES;
    
    #查看指定数据库的表内容
    SHOW TABLES FROM mysql01;
    

    2.创建表结构

    (1)基础版

    在这里插入图片描述

    (2)详细版

    在这里插入图片描述
    在这里插入图片描述

    #创建测试数据库test
    DROP DATABASE IF EXISTS test;
    CREATE DATABASE IF NOT EXISTS test CHARACTER SET utf8;
    #定位到test[若没有定位数据库 那么表会被存放到当前数据库中]
    USE test;
    #在test库中创建表Student[简单建表方式]
    CREATE TABLE student
    (
    		stu_id INT,
    		stu_name VARCHAR(20),
    		stu_sex CHAR(2),
    		stu_age INT
    );
    #插入数据
    INSERT INTO student VALUES(1001,'张三','男',16);
    INSERT INTO student VALUES(1002,'李四','女',17);
    #查询信息
    SELECT * FROM student;
    
    #SELECT DATABASE();
    
    
    /*
    建表配置 可选参数:
    ENGINE=INNODB [当前表格的引擎]
    AUTO_INCREMENT=1 [增长的起始值]
    DEFAULT CHARSET=utf8; [表数据的默认字符集]
    */
    #复杂的建表方式
    #创建表emp [要求:定义主键、自增字段、非空约束、默认值]
    DROP TABLE IF EXISTS emp;
    
    CREATE TABLE emp
    (
    		emp_id INT PRIMARY KEY AUTO_INCREMENT,
    		emp_name VARCHAR(20) NOT NULL,
    		emp_sex CHAR(2) DEFAULT '男',
    		emp_age INT NOT NULL
    )ENGINE=INNODB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8;
    
    #添加数据测试
    INSERT INTO emp(emp_name,emp_sex,emp_age) VALUES('八戒','男',28);
    INSERT INTO emp(emp_name,emp_sex,emp_age) VALUES('嫦娥','女',18);
    
    #INSERT INTO emp(emp_name,emp_sex) VALUES('梅超风','女');
    INSERT INTO emp(emp_name,emp_age) VALUES('梅超风',38);
    
    #查看所有内容
    SELECT * FROM emp;
    

    3.查看表结构

    desc 表名称;

    查看表的定义:SHOW CREATE TABLE 表名;

    #查看表结构
    DESC emp;
    
    #查看表定义[获得表定的标准SQL代码]
    SHOW CREATE TABLE emp;
    

    4.删除表结构

    drop table 表名称;

    注意:

    数据和结构都被删除

    所有正在运行的相关事务被提交

    所有相关索引被删除

    DROP TABLE 语句不能回滚

    #删除表的 数据
    DELETE FROM emp;
    
    #删除表的 数据和结构
    DROP TABLE IF EXISTS emp;
    
    #SELECT * FROM emp;
    

    5.修改表结构

    (1)重命名表

    alter table 表名 rename 新表名;

    rename table 表名 to 新表名;

    #修改表名 语法-1[emp -> employee]
    ALTER TABLE emp RENAME employee;
    #emp已经被重命名为employee(不存在)
    #SELECT * FROM emp;
    SELECT * FROM employee;
    
    #修改表名 语法-2[employee -> employees]
    RENAME TABLE employee to employees;
    SELECT * FROM employees;
    

    (2)增加一列

    alter table 表名 add 【column】 列名 数据类型; #默认在最后

    alter table 表名 add 【column】 列名 数据类型 after 某一列;

    alter table 表名 add 【column】 列名 数据类型 first;

    注意:**!没有!**alter table 表名 add 【column】 列名 数据类型 before 某一列;

    #修改表 语法-1 新增列[emp_city] [默认添加为表的最后一列]
    ALTER TABLE employees ADD emp_city VARCHAR(20);
    
    #修改表 语法-2 新增列[emp_address] [修饰"first" 使新列成为首列]
    ALTER TABLE employees ADD emp_address VARCHAR(20) FIRST;
    
    #修改表 语法-3 新增列[emp_mail] [修饰"after 列名" 使新列插入在指定的列名后]
    ALTER TABLE employees ADD emp_mail VARCHAR(20) AFTER emp_sex;
    
    #ERROR
    #ALTER TABLE employees ADD emp_xx VARCHAR(20) BEFORE emp_sex;
    

    (3)删除列

    alter table 表名 drop 【column】 列名;

    #删除列 [将刚刚添加的"emp_mail"列删除]
    ALTER TABLE employees DROP COLUMN emp_mail;
    #删除列 [将刚刚添加的"emp_address"列删除]
    ALTER TABLE employees DROP emp_address;
    
    SELECT * FROM employees;
    DESC employees;
    

    (4)修改列类型

    alter table 表名 modify 【column】 列名 数据类型;

    alter table 表名 modify 【column】 列名 数据类型 after 某一列;

    alter table 表名 modify 【column】 列名 数据类型 first;

    #修改列数据类型 语法-1 [emp_name varchar(20) -> varchar(30)]
    ALTER TABLE employees MODIFY emp_name varchar(30);
    #修改列数据类型 语法-1 [emp_age int -> float]
    ALTER TABLE employees MODIFY emp_age float;
    
    #修改列数据类型 语法-2 [使用"after 列名" 在修改类型的同时 移动列的位置到指定列的后方]
    #修改emp_age列的数据类型为int
    ALTER TABLE employees MODIFY emp_age int AFTER emp_name;
    
    #修改列数据类型 语法-3 [使用"first" 在修改类型的同时 移动列的位置到首列]
    ALTER TABLE employees MODIFY emp_age float FIRST;
    

    (5)修改列名等

    alter table 表名 change 【column】 列名 新列名 数据类型

    #修改列的名称 [emp_city -> emp_address]
    ALTER TABLE employees CHANGE emp_city emp_address VARCHAR(50);
    

    练习

    • 题目
    #创建数据库mytest1[简单创建]
    #创建数据库mytest2 指定其编码格式为utf8 查看校对规则 并选择合适的规则
    #查看有哪些数据库
    #若数据库mytest1存在 将其移除
    #定位数据库mytest2
    #查看当前正在使用的数据库是否为mytest2
    #在mytest2中查看其他数据库的表数据
    
    
    #创建学生表
    #[具备以下列:学号(自增字段)、姓名(非空约束)、性别(默认为女)、年龄(非空约束)、地址、电话]
    #[当前表格的引擎为INNODB 增长的起始值为1001 表数据的默认字符集为UTF8]
    
    #进行以下操作:
    #查看表中所有内容
    #查看表结构
    #查看表定义
    
    
    #修改表 修改表名[2种方式]
    #修改表 新增列[city-城市 ...][3种方式]
    #修改表 修改列的数据类型[name varchar2(20) -> varchar2(40) ...][3种方式]
    #修改表 修改列的名[phone-tell]
    #修改表 移除列[address]
    
    #删除表的 数据
    #删除表的 数据和结构
    
    
    • 答案
    #创建数据库mytest1[简单创建]
    CREATE DATABASE mytest1;
    
    #查看校对规则
    SHOW CHARACTER SET;
    
    #创建数据库mytest2 指定其编码格式为utf8 查看校对规则 并选择合适的规则
    CREATE DATABASE mytest2 CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    #查看有哪些数据库
    SHOW DATABASES;
    
    #若数据库mytest1存在 将其移除
    CREATE DATABASE IF EXISTS mytest1;
    
    #定位数据库mytest2
    USE mytest2;
    
    #查看当前正在使用的数据库是否为mytest2
    SELECT DATABASE();
    
    #在mytest2中查看其他数据库的表数据
    SELECT * FROM mysql02.empinfo;
    
    #创建学生表
    #[具备以下列:学号(自增字段)、姓名(非空约束)、性别(默认为女)、年龄(非空约束)、地址、电话]
    #[当前表格的引擎为INNODB 增长的起始值为1001 表数据的默认字符集为UTF8]
    CREATE TABLE student
    (
           id VARCHAR(12) PRIMARY KEY AUTO_INCREMENT,
           name VARCHAR(30) NOT NULL,
           sex CHAR(2) DEFAULT '女',
           age INT NOT NULL,
           address VARCHAR(50),
           phone VARCHAR(11)
    )ENGINE=INNODB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8;
    
    #进行以下操作:
    #查看表中所有内容
    SELECT * FROM student;
    
    #查看表结构
    DESC student;
    
    #查看表定义
    SHOW CREATE TABLE student;
    
    #修改表 修改表名[2种方式]
    ALTER TABLE student RENAME students;
    RENAME TABLE students to student;
    
    #修改表 新增列[city-城市 ...][3种方式]
    ALTER TABLE student ADD city VARCHAR(20);
    ALTER TABLE student ADD column1 VARCHAR(20) FIRST;
    ALTER TABLE student ADD column2 VARCHAR(20) AFTER age;
    
    #修改表 修改列的数据类型[name varchar2(20) -> varchar2(40) ...][3种方式]
    ALTER TABLE student MODIFY name varchar2(40);
    ALTER TABLE student MODIFY column1 varchar2(22) AFTER name;
    ALTER TABLE student MODIFY column2 varchar2(24) FIRST;
    
    #修改表 修改列的名[phone-tell]
    ALTER TABLE student CHANGE phone tell VARCHAR(11);
    
    #修改表 移除列[address]
    ALTER TABLE student DROP address;
    
    #删除表的 数据
    DELETE FROM student;
    
    #删除表的 数据和结构
    DROP TABLE IF EXISTS student;
    
    展开全文
  • 使用SQL语句创建和删除数据库

    千次阅读 2017-03-14 09:34:25
    了解SQL Server数据库的逻辑结构和物理结构,掌握使用SQL 语句创建和删除数据库。 实验准备: 1) 明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE 语句的用户。 2) 了解用SQL ...

    实验目的:

    了解 SQL Server 数据库的逻辑结构和物理结构,掌握使用 SQL 语句创建和删除数据库。

    实验准备:

    1) 明确能够创建数据库的用户必须是系统管理员,或是被授权使用 CREATE DATABASE 语句的用户。
    2) 了解用 SQL 语句创建和删除数据库的基本语法。

    实验内容:

    1) 以下是创建数据库 userdb1 的 SQL 语句,
    create database userdb1
    on
    (name=’userdb4_data’,/ 数据文件的逻辑名称, 注意不能与日志逻辑同名 /
    filename=’d:\sql_data\userdb4.mdf’ ,/ 物理名称,注意路径必须存在 /
    size=5,/ 数据初始长度为 M/
    maxsize=10,/ 最大长度为 M/
    filegrowth=1)/ 数据文件每次增长 M/
    log on
    (name=userdb4_log,
    filename=’d:\sql_data\userdb4.ldf ’ ,;
    size=2 ,
    maxsize=5 ,
    filegrowth=1)
    go
    运行上述语句建立数据库 userdb1
    2) 根据步骤 1 的 SQL 语句,写出创建实验一中数据库 University 的 SQL 语句,并建立数据库 University.
    3) 用 SQL 语句 drop database 删除步骤一建立的数据库 userdb1。

    实验要求:

    1) 熟练使用查询分析器进行数据库的创建和删除操作;
    2) 完成用 SQL 语句建立和删除数据库的实验报告。

    实验截图
    环境

    sql server 2008 express
    sql server management studio 2008

    运行 sql 语句建立数据库 userdb1

    这里写图片描述

    可以看到第 10 行多了一个


    修改后

    这里写图片描述


    使用自己写的 sql 创建 University

    这里写图片描述


    使用drop database userdb1删除数据库

    这里写图片描述

    展开全文
  • 使用DBCA创建和配置数据库

    千次阅读 2019-07-02 15:36:35
    使用DBCA创建和配置数据库 在安装期间,您可以指示安装程序创建和配置新数据库。如果您已经这样做了,可以跳到下一章。 但是,如果仅安装Oracle软件,或者如果要使用刚刚安装的发行版软件创建其他数据库,则可以...

    使用DBCA创建和配置数据库

     

    在安装期间,您可以指示安装程序创建和配置新数据库。如果您已经这样做了,可以跳到下一章。

    但是,如果仅安装Oracle软件,或者如果要使用刚刚安装的发行版软件创建其他数据库,则可以使用Database Configuration Assistant(DBCA)。

    DBCA使您可以执行以下任务:

    单击“ 帮助”可以获得联机帮助。它提供的信息可指导您选择配置选项。

    启动DBCA

    要启动DBCA:

    1. 以有权安装Oracle软件并创建和运行数据库的管理组成员的身份登录计算机。

    2. 要在Windows操作系统上启动DBCA,请单击“ 开始”,然后选择“ 程序”,“ Oracle - home_name”,“ 配置和迁移工具”,再选择“ 数据库配置助手”

      要在UNIX上启动DBCA,或在Windows操作系统上启动DBCA,请在系统提示符下输入以下命令:

      dbca

      dbca实用程序通常位于ORACLE_HOME/bin

      出现“欢迎”窗口。

    3. 单击“ 下一步”继续。出现DBCA操作窗口。

    使用DBCA创建数据库

    在“DBCA操作”窗口中,选择“ 创建数据库”以启动向导,使您可以创建和配置数据库。向导会根据以下内容请求您输入:

    请注意,向导的大多数窗口都提供默认设置。要接受所有默认参数,可以在任何步骤单击“ 完成”。DBCA显示最终确认窗口。单击“ 确定”以启动数据库创建。

    数据库模板

    使用此窗口可以选择要创建的数据库类型。默认情况下,Oracle提供预定义的模板。有数据仓库通用事务处理数据库的模板。

    模板包含针对工作负载优化的设置。单击“ 显示详细信息”以查看每种类型数据库的配置。选择适合您的数据库将支持的工作负载类型的模板。如果您不确定选择哪个,请选择默认的通用模板。

    对于更复杂的环境,您可以选择“ 自定义数据库”选项。此选项会导致更广泛的访谈,这意味着创建数据库需要更长时间,因为必须运行数据库创建脚本。

    有关使用数据库模板的详细信息,请参阅“使用DBCA管理模板”

    数据库识别

    全局数据库名称框中,输入形式的数据库名称数据库名称domain_name

    SID框中,输入Oracle系统标识符。SID默认为数据库名称,并唯一标识运行数据库的实例。

    管理选项

    使用此窗口可以设置数据库,以便可以使用Oracle Enterprise Manager进行管理。Oracle Enterprise Manager为各个数据库提供基于Web的管理工具,以及用于管理整个Oracle环境的集中管理工具。

    选中使用Enterprise Manager配置数据库以使用Enterprise Manager。选择以下选项之一:

    • 如果已在主机上安装了Oracle Management Agent,则可以通过选择“ 使用网格控制进行数据库管理 ”来选择集中管理。如果选择此类管理,则还必须在下拉菜单中指明要使用的管理服务。

    • 选择“ 使用数据库管理的数据库控制”在本地管理数据库。如果选择此选项,则可以另外选中“启用Oracle电子邮件通知”以通过电子邮件向您发送有关潜在问题的警报,并选中“启用每日备份”。有关这些选项的更多信息,请单击“帮助

    数据库凭据

    在此窗口中,您可以指定管理帐户的密码,例如SYSSYSTEM。选择以下选项之一:

    • 选择“为所有帐户使用相同的密码”,然后输入密码以对所有帐户使用相同的密码。

    • 选择“ 使用不同的密码”并单独指定密码。

    存储选项

    指定您希望数据库使用的存储机制类型。有关更多信息,请参阅“安装选择”

    数据库文件位置

    在此窗口中,指定要在其中安装Oracle软件的Oracle主目录和目录路径。选择以下之一:

    • 使用模板中的数据库文件位置 - 选择此选项可指示DBCA使用模板中指定的目录信息。稍后,您可以对数据库文件名和位置进行修改。

    • 使用所有数据库文件的公共位置 - 此选项要求您为Oracle主目录指定新目录。将在此位置创建所有数据库文件。稍后,您可以对数据库文件名和位置进行修改。

    • 使用Oracle管理的文件 -选择此选项可让Oracle直接管理包含Oracle数据库的操作系统文件。您为所有文件指定称为数据库区域的默认位置。此后,Oracle会根据需要自动创建和删除此位置中的文件。您还可以通过选择Multiplex重做日志和控制文件来创建重做和联机日志文件的多个副本。要了解有关重做日志和控制文件的更多信息,请参阅第9章“执行备份和恢复”

      选择此选项可以将数据库文件的完整管理委派给数据库。您不再需要指定文件名,位置或大小。

    恢复配置

    创建新数据库时,配置数据库非常重要,这样您就可以在系统出现故障时恢复数据。您可以选择以下选项:

    • 指定快速恢复区 -选择此选项以指定备份和恢复区域并指定其目录位置和大小。您可以使用变量来标识标准位置。要查看或添加其他位置,请单击窗口底部的“ 文件位置变量 ”。

    • 启用存档 -选择此选项可启用数据库重做日志的存档,可用于恢复数据库。选择此选项与在Oracle Enterprise Manager中启用存档日志模式或在ARCHIVELOG模式下运行数据库相同。您可以接受默认存档模式设置,也可以通过选择编辑存档模式参数来更改它们。

      Oracle建议您选择“ 启用存档”。选择此选项可在软件或硬件发生故障时为数据库提供更好的保护。如果您现在不选择此选项,则可以稍后启用存档日志模式。请参阅“为基本备份和恢复配置数据库”

    数据库内容

    创建数据库时,可以使用数据加载它。

    示例模式

    检查示例模式EXAMPLE在数据库中包含Sample Schemas()表空间。示例模式为示例提供了一个通用平台。Oracle书籍和教育资料包含基于示例模式的示例。Oracle建议将它们包含在您的数据库中。

    自定义脚本

    在“ 自定义脚本”选项卡中,您可以指定在创建数据库后运行的一个或多个SQL脚本。脚本对于执行安装后任务非常有用,例如加载自定义模式。要指定脚本,请选中“运行以下脚本”; 否则接受默认无脚本运行。请注意,如果选择在安装后运行脚本,则脚本必须包含标识数据库的连接字符串。单击“帮助”以获取更多信

    初始化参数

    此窗口上的链接提供对窗口的访问,使您可以更改默认初始化参数设置。这些参数分为以下几类:

    记忆

    使用此窗口用于设置控制数据库如何管理其内存使用情况的初始化参数。您可以选择以下一种内存管理方法:

    典型 - 此方法需要很少的配置,并将内存分配为总体物理系统内存的百分比。选择“典型”并输入百分比值。单击“显示内存分配”以查看DBCA分配给系统全局区域(SGA)和程序全局区域(PGA)的内存量。要了解更多关于PGA和SGA,请参阅“管理内存参数”中的第5章“管理Oracle实例”

    自定义 - 此方法需要更多配置,但可以更好地控制数据库使用系统内存的方式。此选项适用于更有经验的数据库管理员。您可以直接指定SGA和PGA及其子结构的内存大小,例如共享池和缓冲区缓存。

    选择以下选项之一:

    • 选择自动可为SGA和PGA分配特定的内存量。

    • 选择“ 手动”为每个SGA组件输入特定值。这将定制SGA内存在SGA内存子结构之间的分布方式。

    浆纱

    是选项卡,您指定可以同时连接到数据库的最小块大小和最大操作系统用户进程数。

    在“ 块大小”列表中,输入大小(以字节为单位)或接受默认值。Oracle数据库数据存储在这些块中。一个数据块对应于磁盘上特定数量的物理空间字节。使用预定义模板时,不会启用此字段,因为将使用默认块大小8 KB创建数据库。但是在使用自定义选项时,您可以更改块大小。选择非默认8 KB值的块大小需要高级知识,并且只应在绝对需要时才能完成。

    在“ 进程”字段中,指定可以同时连接到数据库的最大进程数。输入一个数字或接受默认值150.此参数的默认值足以满足许多环境。值应为6或更大。此值应允许所有后台进程,例如锁和并行执行进程。

    字符集

    ü在此窗口中定义数据库使用的字符集。字符集是用于在计算机屏幕上显示字符的编码方案。选择字符集可确定可在数据库中表示的语言。

    对于数据库字符集,请从以下选项之一中进行选择:

    • 如果您只需要为所有数据库用户和数据库应用程序支持操作系统当前使用的语言,请使用Default- Select此选项。

    • 使用Unicode(AL32UTF8) -如果需要为数据库用户和数据库应用程序支持多种语言,请选择此选项。

    • 从字符集列表中进行选择 - 如果希望Oracle数据库使用除操作系统使用的默认字符集之外的字符集,请选择此选项。

    国家字符集列表中,选择一个字符集或接受默认值。国家字符集是一种替代字符集,使您可以将Unicode字符存储在没有Unicode数据库字符集的数据库中。选择国家角色可以使国家角色的编程更容易。

    在“ 默认语言”列表中,选择默认数据库语言或接受默认语言。默认语言确定数据库如何支持区域设置敏感信息,如日期和月份缩写,字符数据的默认排序顺序以及书写方向(左或右)。

    在“ 默认日期格式”列表中,选择日期格式或接受默认格式。默认日期格式确定显示小时,日,月和年的约定。例如,在英国,日期格式为DD-MM-YYYY。

    连接模式

    我们在此窗口中选择数据库模式。您可以使用以下任一模式运行数据库:

    • 专用服务器模式允许为每个用户进程提供专用服务器进程。如果预计总客户端数量较少,或者数据库客户端将向数据库发出持久且长时间运行的请求,请选择此选项。

    • 共享服务器模式允许多个客户端连接共享数据库分配的资源池。当大量用户需要连接到数据库时,请使用此模式。当数据库内存有限或需要更好的性能时,它也很有用,因为与专用服务器模式相比,您可以拥有更多的数据库客户端连接。如果选择共享服务器模式,则还必须指示启动实例时要创建的服务器进程数。有关设置此参数的详细信息,请单击“帮助”。

    数据库存储

    导航树显示数据库的存储结构(控制文件,数据文件,重做日志组等)。如果您对存储结构或参数不满意,则可以进行更改。您可以创建一个新的对象创建和删除与现有对象删除

    请注意,如果为数据库选择了一个预配置模板,则无法添加或删除控制文件,数据文件或还原段。

    数据库创建选项

    检查以下任何选项以创建数据库:

    • 创建数据库 - 检查此时创建数据库。

    • 另存为数据库模板 - 检查将数据库定义另存为模板以便在其他时间使用。

    • 生成数据库创建脚本 - 检查以生成可以在以后运行的SQL数据库创建脚本。

    配置数据库选项 与DBCA

    在“操作”窗口中,选择“ 配置数据库选项”以更改数据库配置的各个方面。例如,您可以将数据库从专用服务器更改为共享服务器。您可以添加以前未配置用于数据库的数据库选项,例如Oracle Label Security或Oracle OLAP。

    删除数据库 与DBCA

    在“操作”窗口中,选择“ 删除数据库”以从系统中删除数据库。选择此选项时,DBCA将删除与此数据库关联的所有文件。在Windows上,还会删除任何关联的服务。

    管理模板 与DBCA

    DBCA模板是包含创建数据库所需信息的XML文件。DBCA中使用模板来创建新数据库并克隆现有数据库。模板中的信息包括数据库选项,初始化参数和存储属性(用于数据文件,表空间,控制文件和联机重做日志)。

    模板可以像脚本一样使用,但它们比脚本更强大,因为您可以选择克隆数据库。克隆通过将种子数据库的文件复制到正确的位置来节省时间。

    模板存储在以下目录中:

    ORACLE_HOME/assistants/dbca/templates

    使用模板的优点

    使用模板具有以下优点:

    • 节省时间。如果使用模板,则无需定义数据库。

    • 轻松复制。通过创建包含数据库设置的模板,您可以轻松创建重复数据库,而无需两次指定参数。

    • 轻松编辑。您可以从模板设置快速更改数据库选项。

    • 轻松分享。模板可以从一台机器复制到另一台机器。

    模板类型

    模板分为以下几种:

    • 种子模板

    • 非种子模板

    各自的特性如表2-1所示。

    表2-1 DBCA模板类型

    类型文件扩展名包括数据文件数据库结构

    种子

    .dbc

    此类模板包含现有(种子)数据库的结构和物理数据文件。您的数据库作为种子数据库的副本启动,并且只需要进行以下更改:

    • 数据库的名称

    • 数据文件的目的地

    • 控制文件数

    • 重做日志组的数量

    • 初始化参数

    使用可由DBCA,命令行SQL语句或Oracle Enterprise Manager调用的自定义脚本创建数据库之后,可以进行其他更改。

    种子数据库的数据文件和联机重做日志以压缩格式存储在具有.dfj扩展名的文件中。相应.dfj文件的位置存储在.dbc文件中。

    非种子

    .dbt

    没有

    此类模板用于从头开始创建新数据库。它包含要创建的数据库的特征。非种子模板比种子模板更灵活,因为所有数据文件和联机重做日志都是根据您的规范创建的,名称,大小和其他属性可以根据需要进行更改。


    Oracle提供的DBCA模板

    Oracle为表2-2中显示的环境提供模板。

    表2-2 DBCA模板环境

    环境环境描述

    数据仓库

    用户执行处理大量数据的大量复杂查询。响应时间,准确性和可用性是关键问题。

    这些查询(SELECT语句)的范围从提取几条记录到对来自许多不同表的数千条记录进行排序的查询。

    事务处理

    许多并发用户执行许多需要快速访问数据的事务。可用性,速度,并发性和可恢复性是关键问题。

    事务包括数据库表中的读取(SELECT语句),写入(INSERTUPDATE语句)以及删除(DELETE语句)数据。

    一般用途

    此模板创建一个专为通用目的而设计的数据库 它结合了DSS和OLTP数据库模板的功能。

    定制数据库

    此模板允许您在定义数据库时具有最大的灵活性。


    使用DBCA创建模板

    “模板管理”窗口为您提供了创建或删除模板的选项。DBCA将模板保存为XML文件。

    要创建数据库模板,请选择以下选项之一:

    • 从现有模板

      使用现有模板,您可以基于预定义的模板设置创建新模板。您可以添加或更改任何模板设置,例如初始化参数,存储参数或是否使用自定义脚本。

    • 从现有数据库(仅限结构)

      您可以创建一个包含现有数据库结构信息的新模板,包括数据库选项,表空间,数据文件和初始化参数。用户定义的架构及其数据不会是创建的模板的一部分。源数据库可以是本地数据库或远程数据库。如果希望新数据库在结构上与源数据库类似,但不包含相同数据,请选择此选项。

    • 从现有数据库(结构和数据)

      您可以创建一个包含现有数据库的结构信息和物理数据文件的新模板。使用此类模板创建的数据库与源数据库相同。用户定义的模式及其数据成为创建模板的一部分。源数据库必须是本地的。如果要创建源数据库的精确副本,请选择该选项。

    从现有数据库创建模板时,您可以选择将文件路径转换为Optimal Flexible Architecture(OFA)或维护现有文件路径。如果计划创建数据库的计算机具有不同的目录结构,则建议使用OFA。如果目标计算机具有类似的目录结构,则可以使用标准文件路径。

    删除DBCA模板

    使用“模板管理”窗口可以查看和删除现有模板。删除模板时,它不再可用于创建新数据库或新模板。选择一个模板,然后单击“删除”将其从当前模板列表中删除。

    使用DBCA配置自动存储管理

    在“操作”窗口中,选择“ 配置自动存储管理”以配置自动存储管理(ASM)。有关ASM的简要概述,请参阅“高级安装”。有关更多详细信息,请参阅附录A“自动存储管理”和“ Oracle数据库管理员指南”

    展开全文
  • Laravel创建数据库结构

    千次阅读 2017-11-21 09:36:25
    如果你曾经告知小组成员需要手动添加列到本地数据库结构,那么这正是数据库迁移所致力于解决的问题。Laravel 的Schema门面提供了与数据库系统无关的创建和操纵表的支持,在 Laravel 所支持的所有数据库系统中提供...
  • 修改结构 1. 修改表名RENAME ALTER TABLE 表名 RENAME 新表名; #数据库的名字,不能直接改,可以通过其他手段改。 2. 增加字段ADD ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…], ADD 字段名 ...
  • 这里的所有数据库结构流程图都是在中创建和修改的。 约定 所有结构均以“坚固”为主题 #FEFF00中应突出显示任何“主表” 主键在#00EEFF中突出显示,并带有带外键列表的注释。 外键在#007C74中突出显示,并带有...
  • MySQL:DDL语句:创建数据库和结构

    千次阅读 2019-04-08 22:40:43
    SQL语句分类 *DQL:Data Query Language数据查询语言 *DML:Data Manipulation Language数据操作语言 ...作用: 用于描述数据库中存储现实世界中实体的语言,即创建数据库和结构(不 仅仅能创建数据库和...
  • 文章目录2.2.1数据库结构系统数据库创建数据库查看数据库信息修改数据库删除数据库 1 1 1 1      2.2.1数据库结构 数据库存储方式:文件文件组 文件类型: 主数据库文件 次要数据库文件 ...
  • 我想学习创建数据库表结构,...我就是不太明白如何创建一个好的数据库结构,一个不容易被修改的结构,一个高效的结构 -------------------分割线----------------------- 如果让你们创建表结构你们如何创建呢?求思路~
  • (2)创建数据库;  (3)删除数据库;  (4)调整初始化参数;  (5)管理网络。  对于数据库的管理,必须要具有SYSDBASYSOPER的角色,才有权启动、关闭、运行数据库。SYSDBA角色拥有SYS数据表的所有权限...
  • Mysql创建数据库和数据库

    千次阅读 2009-10-24 20:47:00
    1、使用SHOW语句找出在服务器... +----------+ | Database | +----------+ | mysql| | test | +----------+ 3 rows in set (0.00 sec) 2、创建一个数据库abccs 在创建数据库前,先确定权限,不然会出现错误,可以用mysql
  • 易语言自创数据库结构源码,自创数据库结构,创建,打开,GetLastError,添加数据段,取数据段个数,写数据段个数,取整数,写数据,保存数据库,删除数据段,添加数据,取指定数据段位置,读取数据,修改数据,置本地操作数据库,...
  • Android创建和使用数据库

    万次阅读 多人点赞 2015-12-11 10:49:00
    一、关系型数据库SQLIte  每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的、与操作系统无关的SQL数据库—SQLite。...SQLite已经被多种软件产品使用,Mozilla FireFox就是使用SQ
  • 修改数据库结构时提示【不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的更改"选项。】 工具/原料 ...
  • 知识点:使用SQL语句创建完整版数据库、使用SQL语句创建表、数据库创建好以后新增加字段、修改字段、删除字段的方法。删除数据库和数据库的方法。 需要掌握的知识: SQL Server数据库第一课:常用数据库介绍、...
  • 转自https://www.cnblogs.com/ping-zhang/p/5754593.html修改数据库结构时提示【不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的...
  • 本教程给大家介绍修改SQL-SERVER数据库结构的SQL命令附sql命令行修改数据库,涉及到sqlserver数据库命令的相关知识,对sqlserver数据库命令感兴趣的朋友可以参考下本
  • C#操作Access数据库(创建&修改结构)

    千次阅读 2018-05-22 14:31:20
    想要在程序中控制Access,不是数据,而是Access数据库的表结构啊,字段啊..就要用到ADOX所以先要在解决方案中引用之,方法如下:解决方案资源管理器 --> 引用 --> (右键)添加引用 --> ...
  • 数据库 是一个永久文件,保存数据,按照一定规则(SQL)来进行存储 数据库管理系统 可以对数据库进行增删改查(SQL语句) 数据库阶段 1.DDL语句:数据库定义语句(对库 表 进行定义) Create Drop Alter 2.DML...
  • 修改数据库结构时的注意事项

    千次阅读 2008-03-23 17:52:00
    今天在修改数据库结构时,先创建的视图,后修改了视图中用到的数据表,只是加了几个字段,以为不会有问题,结果网页上报错。 原因:先建视图(图中用到ops.*),后添加字段。在视图中也不会自动加入新添加的字段。...
  • 在用Model First或者Database First的情况下我们可以通过在实体视图界面下生成更改数据库数据结构的sql语句,然后通过执行这些sql语句来完成数据库的修改。可Code First下应该怎么办呢。其实我们可以通过程序包管理...
  • 修改的对象:源数据库和目标数据库中都有的表,但是表结构不同(表中字段、字段属性不一致) 要创建的对象:源数据库中有 目标数据库中没有的表 要删除的对象:源数据库中没有 目标数据库中有的表 没有操作:源...
  • 修改的对象:源数据库和目标数据库中都有的表,但是表结构不同(表中字段、字段属性不一致) 要创建的对象:源数据库中有 目标数据库中没有的表 要删除的对象:源数据库中没有 目标数据库中有的表 没有操作...
  • Oracle数据库创建结构

    千次阅读 2015-06-10 13:24:15
    Oracle数据库创建结构主键与外键主键:关系型数据库中的一条记录中有若干个属性,若其中的某一个属性组(可以是一个属性,也可以是多个)能唯一标识一条记录,那么该属性组就是主键。外键:关系型数据库表中的一...
  • 数据库实验一:创建数据库和

    千次阅读 2019-10-20 09:19:27
    掌握MySQL下创建修改、删除数据库和表的方法; 掌握查看数据库及其构成、数据库文件、数据库引擎、数据库对象、字符集、校对规则等应用; 掌握数据库对象命名规则、数据类型的选择、索引使用规则等。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 598,779
精华内容 239,511
关键字:

创建和修改数据库的结构