SQL介绍和基本操作(未完)

SQL

1. 什么是sql?

Structured Query Language:结构化查询语言

其实就是定义了操作所有关系型数据库的规则,只要是关系型数据库都可以被sql操作,强制要求所有的关系型数据库都必须遵守这个规则。

每一种数据库操作的方式存在不同的地方

常见的关系型数据库有:MySQL、Oracle、SQL server 、Postgresql、DB2、SQLite

2. sql通用语法

  1. SQL语句可以单行或多行书写,以分号结尾;
  2. 可以使用空格和缩进来增强语句的可读性
  3. Mysql数据库的sql语句不区分大小写,关键字建议大写
  4. 注释

                a. 单行注释:-- 注释内容(双-后有空格) 或 #注释内容

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

3. SQL的分类

  • 数据查询语言(DQL): 其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词。
  • 数据操作语言(DML): 其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除中的行。也称为动作查询语言。
  • 数据控制语言(DCL): 它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问权限和安全级别。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
  • 数据定义语言(DDL): 其语句包括动词CREATE、DROP和ALTER。用来定义数据库对象:数据库、表、列等。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。

DDL:操作数据库、表

1. 操作数据库:CRUD

C(create): 创建

  • 创建数据库:

                create database 数据库名称 character set utf8;

  • 创建数据库前判断数据库是否存在(不存在则创建):

                create database if not exists 数据库名称;

  • 创建数据库db3,判断不存在,并指定默认字符集:

                create database if not exists db3 character set utf8;

R(retrieve):查询

  • 查询所有数据库的名称:

                show databases;

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

                show create database 数据库名称;

U(update):修改

  • 修改数据库的字符集:

                alter database 数据库名称 character set 字符集名称;

D(delete):删除

  • 删除数据库:

                drop database 数据库名称;

  • 判断数据库存在在删除:

                drop database if exists 数据库名称;

使用数据库

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

                select database();

  • 使用数据库:

                use 数据库名称;

2. 操作表

C(create): 创建

  • 语法:

create table 表名(

列名1 数据类型1,

列名2 数据类型2,

......

列名n 数据类型n);

# 注意:最后一列不需要加逗号

  • 数据类型:
  1. int:整数类型
  2. age int
  3. double: 小数类型
    score double(5,2) #这个小鼠最多有5位,小数点后保留2位
  4. date:日期,包含年月日,yyyy-mm-dd
  5. datetime:日期,包含年月日时分秒,yyyy-mm-dd hh:mm:ss
  6. timestamp:时间戳类型,包含年月日时分秒,yyyy-mm-dd hh:mm:ss   
     #如果将来不给这个字段赋值或赋值为null,则默认使用当前的系统时间来自动赋值。
  7. varchar:字符串
    name varchar(20) 姓名最大20个字符
    张三(2个字符) zhangsan(8个字符)

  • 创建表:
     create table student(id int, name varchar(32),age int, score double(4,1),birthday date, insert_time timestamp);
  • 复制表:
    create table 表名 like 被复制的表名;
    create table stu like student;

R(retrieve):查询

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

         show tables;

  • 查询表结构:

        desc 表名;

U(update):修改

  • 修改表名

        alter table 表名 rename to 新表名;

  • 修改表的字符集

        alter table 表名 character set 字符集名称;

  • 添加一列

        alter table 表名 add 列名 数据类型;

  • 修改列名称、类型

        alter table 表名 change 列名 新列名 新数据类型; #可改名字和数据类型

        alter table 表名 modify 列名 新数据类型; #只改数据类型

  • 删除列

        alter table 表名 drop 列名;

D(delete):删除

        drop table if exists 表名;

        drop table 表名;

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值