database sql Oracle

本文详细介绍了MySQL和Oracle数据库的基础知识,包括数据库的概念、SQL语言操作、字段约束、客户端工具使用、基础函数、分组查询、事务处理、索引创建及管理,以及关联查询。内容覆盖了从数据库创建、表的增删改查到复杂查询操作,是学习数据库操作的良好教程。
摘要由CSDN通过智能技术生成

一,数据库

--1,概述

        存储和管理数据的一个仓库,分为两种数据库:关系型数据库和非关系型数据库

        关系型数据库:把数据组织成行和列的类似表的结构

        非关系型数据库:数据间的关系不紧密-NoSQL

        关系型数据库产品:MySQL:免费的 / Oracle:收费的

        英文是database/DB

--2,MySQL数据库

        --安装mysql服务器端:

                -设置端口号(默认是3306) + 密码(root) + 编码(默认是 latin1->utf-8)

                --如何检查数据库是否安装成功?

                --执行DOS命令:

                -找到开始位置的MySQL-MySQL Command line Client-输入     密 码-展示Welcome就

                可以了

                -win+r-输入cmd-输入命令:

                C:\Users\Administrator>mysql -uroot -proot

                -展示Welcome就可以了

                --用客户端工具连接:

                点击连接-输入连接名-输入密码(检查端口号)-连接测试-连接成功-确定

--3,数据库的结构

        --数据库--表--行(一条一条的记录)和列(字段)

二,SQL语言

--1,概述

        用来操作数据库的语言。可以对数据库里的数据进行CRUD增删改查

        分类:DML-数据操纵语言(CRUD)

        DDL-数据库定义语言(创建库、创建表)

        DCL-数据库控制语言(分配具体权限)

        DQL-数据库的查询语言(各种查的语法)

--2,用法:CRUD

          --数据库:查询、创建、删除库(谨慎)

          --表:查询、创建、删除、修改

          --!!!记录:创建、查询、删除、修改

--3,操作数据库的SQL

        --查询所有数据库:show databases;

        --新建数据库:create database 数据库名;

        --新建数据库:create database 数据库名 default character set utf8;

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

--4,操作数据表的SQL

        --使用指定数据库:use 数据库名;

        --查询所有数据表:show tables;

        --新建数据表:

        字段类型:int/long double/float char/varchar

        create table 表名(

        字段1名字 字段类型(字段长度),

        字段2名字 字段类型(字段长度),

        字段3名字 字段类型(字段长度)

        )

        mysql> create table tb_door(

            -> id int(11),

            -> door_name varchar(100),

            -> tel varchar(20)

            -> );

          mysql> create table tb_order_detail(

            -> id int(11),

            -> order_id int(11),

            -> num int(4),

            -> item varchar(30)

            -> );

        --查看数据表结构:desc 表名

        mysql> desc tb_door;

        --修改数据表:alter table 表名 add column 字段名 字段类型(字段长度)

        mysql> alter table tb_door add column addr varchar(100);

        mysql> desc tb_door;

        --删除数据表:drop table 表名;

        mysql> drop table tb_order_detail;

--5,!!!!操作记录的SQL

        --查询记录:select 字段名 / * from 表名

        mysql> select * from student;

        --添加记录:insert into 表名 values(字段1的值,字段2的值,字段3的值);

        mysql> set names gbk; #防止中文乱码

        mysql> insert into student values(1,'张三',18);

        --修改记录:update 表名 set 字段名 = 字段值

        mysql> update student set age=100;

        mysql> update student set name='tony'; #字段如果是字符串要加'??'

        --删除记录:delete from 表名

        mysql> delete from student;

三,字段的约束

--1,主键约束

        --是指可以给指定的字段添加一个主键约束,来达到 主键的值是唯一的+不能位空 的 效果

        --mysql> create table a(id int);#id不是主键可以重复可以为空

        --mysql> create table b(id int primary key);#id是主键必须唯一不能为空

        --mysql> create table c(id int primary key auto_increment);#主键自动 递增(从1开始)

--2,非空约束

        --是指给特定的字段,添加非空约束,达到 字段值不能为空 的效果

        --mysql> create table d(id int primary key auto_increment,

            -> name varchar(10) not null #not null就是对name字段的非空约束

            -> );

--3,唯一约束

        --是指给字段加上唯一约束,达到 字段的值必须唯一 的效果

        --mysql> create table e(id int primary key auto_increment,

            -> age int not null unique #unique是对age字段的值的唯一约束

            -> );  

四,使用客户端工具

--1,数据库的操作

        右键-新建数据库-输入数据库名和编码(utf8)-确定

--2,表的操作

        新建表-添加字段名,字段类型,字段长度-添加栏位-主键-自动递增-保存-输入表名-确定

--3,记录的操作

        双击打开表-点+-√

五,基础函数

--1,概述

        MySQL提供了很多函数,可以快速操作数据.

--2,各种函数的使用

        --基本函数:lower\upper\length\substr\concat\replace\ifnull\uuid

        --小数的函数:round\ceil \floor

        --日期的函数:now\year\ month \ day\hour\minute \second\转义字符

        --练习

        #查看表结构

                desc dept;

                select * from dept;

        #MySQL的基本函数们

                select * from dept; #查询所有字段的值-低效

                select dname from dept; #只查询dname字段的值-高效

                select dname,deptno from dept; #只查询dname,deptno字段的值-高效

                select dname,lower(dname) from dept;#lower(参数)-把参数变小写

                select dname,upper(dname) from dept;#upper(参数)-把参数变大写

                select dname,upper(dname),lower(dname) from dept;#查3列

                #length(参数)-获取参数的长度

                        select dname,length(dname),loc,length(loc) from dept;

                #substr(1,2)-1是要截取谁2是从哪儿开始(下标从1开始)

                        select dname,substr(dname,3) from dept;

                #substr(1,2,3)-1是要截取谁2是从哪儿开始(下标从1开始)3是截取几个

                        select dname,substr(dname,2,3) from dept;

                #concat()-拼接字符串

                        select dname,concat(dname,'hello') from dept;

                        (dname字段下的所有值后 面  都 加了hello)

                        select dname,concat(dname,"world") from dept;

                        select dname,concat(dname,"world","123") from dept;

                        (把加了world的值改成123)

                #replace(1,2,3)替换-1是要替换的字段是谁2是要被替换的字符是啥3是新字符

                #Mysql里整数可以简写,字符必须加''或者""

                        select dname,replace(dname,'c',6) from dept;

                        select * from emp;

                #ifnull(1,2)-1是字段名2是要被替换成的值

                #ifnull如果是null可以替换成新值

                        select comm,ifnull(comm,1) from emp;

        #对小数的处理

                #round(四舍五入) & ceil(向上取整) & floor(全舍)

                select comm,ceil(comm),floor(comm),round(comm) from emp;

        #对日期数据的操作

                select now() ; #获取年月日时分秒

                select CURDATE(); #获取年月日

                select CURTIME(); #获取时分秒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值