数据库基础(一)

本文介绍了数据库的基本概念,包括常见的数据库类型如Oracle、MySQL等,以及数据库管理系统(DBMS)的作用。详细讲解了SQL语言的不同部分,如DDL、DML、DCL等,并提供了创建和管理数据库的具体语法示例。
摘要由CSDN通过智能技术生成

数据库:数据库就是一个文件系统,提供了一套标准的SQL操作数据.

    **常见的数据库:**
        Oracle:就是甲骨文(Oracle)公司的产品.一个收费的大型的数据库.
        DB2:是IBM公司的产品.一个收费的大型的数据库.
        SQL Server:微软公司产品.一个收费的中型的数据库.(.NET)
        MySQL:开源的数据库.(免费的) 现在已经被Oracle公司收购了.但是MySQL6.0也开始收费了.
        SYBASE:中型的数据库.留下了一个Powerdeginer工具.(专业数据建模工具.)
        SQLite:小型的嵌入式的数据库(Android系统)

DBMS、SQL、DDL、DML、DCL的全称:

DBMS:database management system (数据库管理系统)
SQL:structured query language (结构化查询语言)
S:创建表/删除表/修改表/备份表
数据完整性:not null/unique/default/check/pk
DDL:data definition language (数据定义语言)
DML:data manipulation language (数据操纵语言)
DBS:database system (数据库系统)
DCL:data control language (数据控制语言)>

SQL语法:Structured Query Language, 结构化查询语言

特点:
* 非过程性语言 (过程性语言:一条语句的执行 需要依赖另一条语句.)
一条语句就有一个执行的结果 。
分类:
DDL:数据定义语言
** 创建数据库 表 视图 删除数据库 表… create 、 drop 、alter…
DML(database manipulation language):数据操纵语言
* 针对的是表中的数据记录: update(修改) insert delete…
DCL:数据控制语言
* 对执行的流程进行控制: if grant while 事务…
DQL:数据查询语言(官方分类)
* select :针对表 进行 查询的.

*SQL:每句结束写一个; SQL语句不区分大小写.

数据库:对数据库进行CRUD的操作.

创建数据库:
    语法:
        * create database 数据库名称; (默认采用数据库服务器设置的字符集.)
        * create database 数据库名称 character set 字符集;
        * create database 数据库名称 character set 字符集 collate 字符集的校对规则;

查看数据库:
    show databases; ---- 查看数据库服务器中有那些数据库.
    SHOW CREATE DATABASE 数据库名称; ---- 查看数据库服务器中某个数据库的定义信息.

删除数据库:
    drop database 数据库名称;

修改数据库:
    语法:
        alter database 数据库名称 character set 字符集;
        alter database 数据库名称 character set 字符集 collate 校对规则;

选择数据库:
    语法:
        use 数据库名;
查看当前正在使用的数据库:
    语法:
        select database();

表:对表进行CRUD的操作.

创建表:
    语法:
        create table 表名(
            字段名 字段类型(长度),
            字段名 字段类型(长度)
        );

VARCHAR、CHAR
    MYSQL中 char 和 varchar的区别?
        * char类型 :代表的是一个固定长度的字符串.  
        * 如果定义的一个 char(8) 存入数据的时候 存了一个hello  剩余的空间 用空格补全. 在hello后面放置3个空格补全.
        * varchar类型:代表的是一个可变长度的字符串.
        * 如果定义的一个 varchar(8) 存入数据的时候 存了一个hello  直接存了一个hello 后面3个去掉了.

    查看一下表的结构:
      语法: desc 表名;

    显示数据库中所有的表: show tables;

    * 为了保证数据的完整性:学习几个约束.
    单表约束:(对单个表的约束.)
    * 1.主键约束: 主键就是这一条记录的唯一标识. primary key (主键) 设置了主键 (默认 唯一而且非空.)
    * 2.唯一约束: 唯一约束.表中的记录是唯一. unique 
    * 3.非空约束: 字段不能存入空值. not null

    * 创建表的时候 可以给字段加约束:
    create table 表名(
        字段名 字段类型(长度) 约束,
        字段名 字段类型(长度) 约束
    );

    ***** 如果这个主键是整形的. 可以将整形的主键 设置为自动增长.
    create table employee2(
        id int primary key auto_increment,
        name varchar(20) unique not null,
        gender varchar(5) not null,
        birthday date not null,
        entry_date date not null,
        job varchar(20) not null,
        salary double not null,
        resume text not null
    );

            ***** 发现 有的类型 写了长度 而有的类型没写长度.
        字符串类型 需要写长度  数值类型 日期类型可以不写长度.(他们有默认的长度)  int默认值是11

* 修改表结构:
    语法:
        修改表添加列: alter table 表名 add 列名 类型(长度) 约束;
        修改表修改列的类型 长度以及约束: alter table 表名 modify 列名 类型(长度) 约束;
        修改表删除列: alter table 表名 drop 列名;
        修改表名:   rename table 旧表名 to 新表名;
        修改列名:   alter table 表名 change 旧列名 新列名 类型(长度) 约束;
        修改表的字符集: alter table 表名 character set utf8;

* 删除表:
    语法:drop table 表名;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值