A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 路人丶 中级黑马   /  2017-12-27 21:43  /  1477 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天正式进入数据库的学习了,我们以后吃饭的东西,必须认真学!!!一、常见的数据库管理系统(了解)
MYSQL         :开源免费的数据库,小型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。
Oracle         :收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。
DB2                 :IBM公司的数据库产品,收费的。常应用在银行系统中.
SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。
SyBase         :已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。
SQLite         : 嵌入式的小型数据库,应用在手机端。
Java相关的数据库:MYSQL,Oracle.
二、SQL语句
        结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询和程序设计语言,
        用于存取数据以及查询、更新和管理关系数据库系统。
        数据定义语言(了解)        :简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。
                                                关键字:create,alter,drop等
          数据操作语言(掌握★)  :简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。
                                                关键字:insert,delete,update等
    数据控制语言(了解)    :简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户。
      数据查询语言(掌握★★):简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等
        数据类型:
                整形:        int
                浮点型:double
                字符型:varchar
                日期:        date

        DDL(了解):
                数据库:
                        创建:create database 数据库名;               
                        查看:show databases;
                        删除:drop database 数据库名称;
                        切换:use 数据库名;
                表:
                        创建:create table 表名(
                                           字段名 类型(长度) 约束,
                                           字段名 类型(长度) 约束
                                        );
                        约束:
                                primary key:主键(唯一,非空) + auto_increment(自增)
                                not null   :非空
                        查看(表数量):show tables;
                        查看(表结构):desc 表名;
                        删除                  :drop table 表名;

                        修改:
                                添加列                :alter table 表名 add 列名 类型(长度) 约束;
                                修改列的属性:alter table 表名 modify 列名 类型(长度) 约束;
                                改名                :alter table 表名 change 旧列名 新列名 类型(长度) 约束;
                                删除                :alter table 表名 drop 列名;       
                                修改表名        :rename table 表名 to 新表名;

        DML(掌握★)
                        -- 插入数据
                        INSERT INTO prduct (pid,pname,price) VALUES (1,'华硕笔记本',4000),(2,'oppo r9',1999);

                                                表名                   主键自增
                        INSERT INTO prduct VALUES (NULL,'iphone6sp',3999),(NULL,'huwei p8',2599);

                        -- 删除数据
                        DELETE FROM prduct WHERE pid=4;
                        -- 删除表中所有数据,AUTO_INCREMENT 不清空
                        DELETE FROM prduct;
                        -- 摧毁表,重新建一张,AUTO_INCREMENT 清空
                        TRUNCATE TABLE prduct;

                        -- 修改数据
                        UPDATE prduct SET pname='oppo r9s',price=2222 WHERE pid=2;
                        -- 条件查询
                        /*
                        数据库中
                        =        等于
                        <>        不等于
                        <=        小于等于

                        java中  数据库中
                        &&                 and                与
                        ||                 or                        或
                        !                 not                非
                        */
        DQL(掌握★★)
                -- 查询所有
                SELECT * FROM zhangwu;
                -- 分开查询
                SELECT zname,id FROM zhangwu;

                -- 查询去掉重复记录
                -- distinct 关键字 (后面跟几个列名,就同时对列名去重)
                SELECT DISTINCT zname FROM zhangwu;
                SELECT DISTINCT zname,zmoney FROM zhangwu;

                -- AS 别名(暂时性的,只在该条查询语句起作用)
                SELECT zname AS 消费情况 FROM zhangwu;
                -- 直接计算  
                SELECT (2121%23)
                SELECT zmoney+10000 AS 价格 FROM zhangwu;

                -- 条件查询
                SELECT * FROM zhangwu WHERE zname='吃饭支出';
                SELECT * FROM zhangwu WHERE zmoney+700>=1000;
                SELECT * FROM zhangwu WHERE zmoney>=1000 AND zmoney<=5000;
                SELECT * FROM zhangwu WHERE zmoney BETWEEN 1000 AND 5000;
                SELECT * FROM zhangwu WHERE zmoney IN (1000,5000,8000);

                -- 模糊查询 like
                -- _ 一个代表一个字符   查询长度为5的名字
                SELECT * FROM zhangwu WHERE zname LIKE '_____';
                -- % 任意多个字符   以支出结尾的
                SELECT * FROM zhangwu WHERE zname LIKE '%支出';
                -- not 非    不是空的
                SELECT * FROM zhangwu WHERE zname IS NOT NULL;
                SELECT * FROM zhangwu WHERE NOT (zname IS NULL);

6 个回复

正序浏览

总结很不错哟~继续加油
回复 使用道具 举报
加油哦   继续努力
回复 使用道具 举报
一个比一个6
回复 使用道具 举报
温故而知新    加油哦   继续努力
回复 使用道具 举报
继续加油!
回复 使用道具 举报

总结不错,继续加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马