数据库学习总结2

一、SQL

1.什么是SQL

结构化查询语言(Structured Query Language) 简称SQL,定义了操作所有关系型数据库的规则

SQL语句就是对数据库进行操作的一种语言

2.SQL作用

通过SQL语句我们可以方便地操作数据库中的数据、表、数据库。

SQL是数据管理系统都需要遵循的规范。不同的数据库生产厂商都支持SQL语句,但都有特有内容。

3.SQL通用语法

(1)SQL语句可以单行或多行书写,以分号结尾;

(2)可使用空格和缩进来增强语句的可读性;

(3)MySQL数据库的SQL语句不区分大小写,关键字建议使用大写;

(4)三种注释:

a.单行注释: -- 注释内容(注意--后有一个空格) ,或者 # 注释内容(mysql特有)

b.多行注释:/*注释内容*/

4.SQL语句分类

(1)DDL(Data Definition Langage)数据定义语言

用来定义数据库对象:数据库、表、列等。

关键字:create,drop,alter等;

(2)DML(Data Manipulation Language)数据操作语言

用来对数据库中表的内容进行增删改。

关键字:insert,delete,updata等;

(3)DQL(Data Query Language)数据查询语言

用来查询数据库中表的记录(数据)。

关键字:select,where等;

(4)DCL(Data Control Language)数据控制语言(了解)

用来定义数据库的访问权限和安全级别以及创建用户。

关键字:GRANT,REVOKE;

二、DDL:操作数据库、表

1.(1)C(create)增:创建、添加、新增操作数据库 CRUD

        创建数据库:

        CREATE DATABASE name(所创建数据库名字);

        CREATE DATABASE IF NOT EXISTS name(所创建数据库名字);此方法在创建前会查询该名字数据库是否存在,避免因已经存在同名的而创建失败;

        CREATE DATABASE name(所创建数据库名字) CHARACTER SET 字符集类型;

此方法为创建指定字符集的数据库;

        集合以上功能:

        CREATE DATABASE IF NOT EXUSTS name CHARACTER SET 字符集类型;

(2)R(retrieve)查:查询

        查询数据库名称:

        SHOW DATABASES;

        查询某个数据库的字符集(查询某个数据库的创建):

        SHOW CREATE DATABASE name(所查询数据库名字); 

(3)U(updata)改:修改

        修改数据库的字符集:

        ALTER DATABASE name(数据库名称) CHARACTER SET 字符集名称;

(4)D(delete)删:删除

        删除数据库:

        DROP DATABASE name(数据库名称);

        DROP DATABASE IF EXISTS name(数据库名称);  这种方法先判断数据库是否存在

(5)使用数据库

        查询当前正在使用的数据库:

        SELECT DATABASE();

        使用数据库:

        USE name; 

2.操作表

(1)C(create)增:创建、添加、新增

       创建表:

        CREATE TABLE 表名(

                列名1 数据类型1,

                列名2 数据类型2,

                ......

                列名n 数据类型n

        );

        a.最后一列不需要加逗号

        b.数据库类型:(加粗的为常用数据类型

        整数类型:tinyInt 很小的整数、smallInt 小的整数、mediumInt 中等大小的数、int(integer) 普通大小的整数

        小数类型:float 单精度浮点数、double 双精度浮点数[ 数据名称 double(最多有几位的位数,保留几位的位数); ]、decimal(m,d) 压缩严格地定点数;

        日期类型:

        year YYYY|1901~2155、

        time HH:MM:SS|-838:59:59~838:59:59、

        date YYYY-MM-DD|1000-01-01~9999-12-31

        datetime YYYY-MM-DD HH:MM:SS|1000-01-01~9999-12-31 23:59:59、      

        timestamp YYYY-MM-DD HH:MM:SS|1970-01-01 00:00:01 UTC~2038-01-19 03:14:07UTC[如果将来不给这个字段赋值,或赋值为null,则默认使用当前系统时间来自动赋值]

        字符串:

        CHAR(M) M为0~255之间的整数、VARCHAR(M) M为0~65535之间的整数

        BLOB:

        TINYBLOB 允许长度0~255字节、BLOB 允许长度0~65535字节、MEDIUMBLOB 允许长度0~167772150字节、LONGBLOB 允许长度0~4294967295字节;

        CLOB:

        TINYTEXT 允许长度0~255字节、TEXT 允许长度0~65535字节、MEDIUMTEXT 允许长度0~167772150字节、LONGTEXT 允许长度0~4234967295字节;

        二进制:

        VARBINARY(M) 允许长度0~M个字节的变长字节、BINARY(M) 允许长度0~M个字节的定长字节;

                

        复制表:

        CREATE TABLE 表名 LIKE 被复制的表名; 

(2)R(retrieve)查:查询

        查询某个数据库中所有的表名称:

        SHOW TABLES;

        查询表结构:

        DESC 表名; 

(3)U(updata)改:修改

        修改表名:

        ALTER TABLE 表名 RENAME TO 新的表名;

        修改表的字符集:

        ALTER TABLE 表名 CHARACTER SET 字符集名称; 

        添加列: 

        ALTEER TABLE 表名 ADD 列名 数据类型;

        修改列名称、数据类型: 

       ALTER TABLE 表名 CHANGE 原来的列名 新列名 新列名数据类型;(修改列名和数据类型)

        ALTER TABLE 表名 MODIFY 列名 新的数据类型;(只修改数据类型)

        删除列: 

        ALTER TABLE 表名 DROP 列名;

(4)D(delete)删:删除 

        删除表:

        DROP TABLE IF EXISTS 表名;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值