只讲干货!!新的一天你注定上升一个台阶!!今天拿下:数据库深化了解!

SQL语言

SQL语言简介

        结构化查询语言(Structured Query Language) 简称 SQL( 发音: sequal['si:kw ə l]) ,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL 能做什么?

  • SQL 面向数据库执行查询
  • SQL 可在数据库中插入新的记录
  • SQL 可更新数据库中的数据
  • SQL 可从数据库删除记录
  • SQL 可创建新数据库SQL 可在数据库中创建新表
  • SQL 可在数据库中创建存储过程
  • SQL 可在数据库中创建视图
  • SQL 可以设置表、存储过程和视图的权限

SQL 标准

        SQL 是 1986 10 月由美国国家标准局( ANSI )通过的数据库语言美国标准,接着,国际标准化组织(ISO )颁布了 SQL 正式国际标准。 1989 4 月, ISO 提出了具有完整性特征的 SQL89 标准, 1992 年11 月又公布了 SQL92 标准,在此标准中,把数据库分为三个级别:基本集、标准集和完全集。在 1999 年推出 99 版标准。最新版本为 SQL2016 版。比较有代表性的几个版本: SQL86 SQL92 SQL99

SQL语言分类

        数据查询语言(DQL Data Query Language )其语句,也称为 数据检索语句 ,用以从表中获得数据,确定数据怎样在应用程序给出。关键字 SELECT DQL (也是所有 SQL )用得最多的动词。
SELECT
FROM
WHERE
ORDER BY
HAVING
        数据操作语言(DML Data Manipulation Language )其语句包括动词 INSERT UPDATE 和DELETE。它们分别用于添加,修改和删除表中的行。
INSERT :添加数据
UPDATE :更新数据
DELETE :删除数据
       数据定义语言(DDL Data Definition Language )定义数据库对象语言,其语句包括动词
CREATE DROP 等。
CREATE :创建数据库对象
ALTER :修改数据库对象
DROP :删除数据库对象
        数据控制语言(DCL Data Control Language )它的语句通过 GRANT REVOKE 获得许可,确定用户对数据库对象的访问。
GRANT :授予用户某种权限
REVOKE :回收授予的某种权限
        事务控制语言(TCL Transaction Control Language )它的语句能确保被 DML 语句影响的表的所有行及时得以更新。
COMMIT :提交事务
ROLLBACK :回滚事务
SAVEPOINT :设置回滚点
注意:
        数据操纵语言DML insert update delete )针对表中的数据 ; 而数据定义语言 DDL create alter drop )针对数据库对象,比如数据库 database 、表 table 、索引index 、视图 view 、存储过程 procedure 、触发器 trigger

SQL语言语法

        SQL语句不区分大小写,关键字建议大写。
        SQL语句可以单行或多行书写,以分号结尾。

创建与删除数据库

创建数据库

        使用DDL 语句创建数据库
        CREATE DATABASE 数据库名 DEFAULT CHARACTER SET 字符编码 ;
        示例:
        创建一个test 的数据库,并查看该数据库,以及该数据库的编码。
        创建数据库:

        create database test default character set utf8;

        查看数据库:
        show databases ;
        查看数据库编码:
        select schema_name ,default_character_set_name from
        information_schema .schemata
        where schema_name = 'test' ;
        使用Navicat 创建数据库就比较简单了

                

删除数据库

        使用DDL 语言删除数据库
        DROP DATABASE 数据库名称 ;
        示例:
        删除 test 数据库
        drop database test;

        使用Navicat删除数据库

MySQL中的数据类型

整数类型

浮点类型

字符类型

char varchar
  1. char长度固定, 即每条数据占用等长字节空间;适合用在身份证号码、手机号码等定长。
  2. varchar可变长度,可以设置最大长度;适合用在长度可变的属性。
  3. text不设置长度, 当不知道属性的最大长度时,适合用text
        按照查询速度: char 最快, varchar 次之, text 最慢
字符串型使用建议:
  1. 经常变化的字段用varchar
  2. 知道固定长度的用char
  3. 尽量用varchar
  4. 超过255字符的只能用varchar或者text
  5. 能用varchar的地方不用text

日期类型

二进制数据 (BLOB)
  1. BLOBTEXT存储方式不同,TEXT以文本方式存储,英文存储区分大小写,而Blob是以二进制方式存储,不分大小写。
  2. BLOB存储的数据只能整体读出。
  3. TEXT可以指定字符集,BLOB不用指定字符集

创建表与删除表

创建表

        使用DDL 语句创建表
CREATE TABLE 表名 ( 列名 类型 , 列名 类型 ...... ) ;
示例:
        创建一个 employees 表包含雇员 ID ,雇员名字,雇员薪水。
create table employees ( employee_id int,employee_name varchar ( 10 ) ,salary
float ( 8 , 2 )) ;
查看已创建的表
show tables ;
使用 Navicat 创建表

删除表

        使用DDL 语句删除表
        DROP TABLE 表名 ;

        示例:

        删除 employees 表。

DROP TABLE employees

        使用Navicat 删除表

修改表

修改表名

        使用DDL 语句修改表
        ALTER TABLE 旧表名 RENAME 新表名 ;
        创建一个 employees 表包含雇员 ID ,雇员名字,雇员薪水。
        create table employees ( employee_id int,employee_name varchar ( 10 ) ,salary
float ( 8 , 2 )) ;
        将 employees 表名修改为 emp
        alter table employees rename emp;
        使用Navicat 修改表名

        选择表按F2

修改列名

        使用DDL 语句修改列名
        ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 类型 ;
        将 emp 表中的 employee_name 修改为 name
        alter table emp change column employee_name name varchar ( 20 ) ;
        使用Navicat 修改列名

修改列类型

        使用DDL 语句修改列类型
        ALTER TABLE 表名 MODIFY 列名 新类型 ;
        将 emp 表中的 name 的长度指定为 40
        alter table emp modify name varchar ( 40 ) ;
        使用Navicat 修改列类型

添加新列

        使用DDL 语句添加新列
        ALTER TABLE 表名 ADD COLUMN 新列名 类型 ;
        在 emp 表中添加佣金列,列名为 commission_pct
        alter table emp add column commission_pct float ( 4 , 2 ) ;
        使用Navicat 添加新列

删除指定列

        使用DDL 语句删除指定的列
        ALTER TABLE 表名 DROP COLUMN 列名 ;
        删除 emp 表中的 commission_pct
        alter table emp drop column commission_pct;
        使用Navicat 删除指定的列

只讲干货

#有什么错误的地方大家多多担待,欢迎大家留下意见共同努力。


#需要什么技术的内容大家也可以积极留言。


#有升本的伙伴也可留言,后序也可更新升本内容C 和数据结构。


#有需要的伙伴或有什么问题直接联留下wx或联系邮箱2821835676qq.com

  • 26
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值