mysql微整型_sql操作数据库(1)-->DDL、DML、DQL

本文介绍了SQL语言的基础知识,包括DDL(数据定义语言)、DML(数据操作语言)和DQL(数据查询语言)。详细讲解了如何使用SQL进行数据库的创建、查询、修改和删除等操作,以及对表的增删改查等基本操作。内容涵盖创建、查询、修改和删除数据库,以及数据类型的介绍。
摘要由CSDN通过智能技术生成

SQL 操作数据库

概念:结构化查询语言 Structured Quary Language

作用:

?1.是一种数据库的查询的标准,对所有的数据库都支持

?2.不同的数据库SQL语句可能有点不同 (方言),mysql oracle DB2

sql语句分类

?1.DDL:操作数据库、表 ?数据定义语言?Data Definition Language

?2.DML:增删改表中的记录?数据操作语言?Data Manipulation Language

?3.DQL: 查询表中的记录?数据查询语言?Data Query language

?4.DCL:管理用户与授权? 数据控制语言?Data Control language

DDL 语言

1.操作数据库 CRUD操作

?1.创建数据库 方式有很多种: C ---create

create database 数据库名;

create database if not exists 数据库名;// 创建的时候先判断数据库是否存在

create database 数据库名 character set 编码字符集;// 创建数据库的指定编码字符集

-- 分号 一般是sql语句的结束标志

create DATABASE java31;

-- 创建数据库的第二种方式 create database if not exists 数据库名;

create database if not EXISTS apartment;

-- 创建数据库的第三种方式 create database 数据库名 character set 编码字符集;

create database school character set utf8;

-- 三者组合到一起表达

create database if not EXISTS college character set utf8;

?2. 查询 r --->retrieve

查询当前数据库服务器的所有的数据库

show databases;

查询某个数据库的编码字符集:查询某个创建的数据库的编码字符集

show create database 数据库名称;

?3.修改 u-->update

修改数据库的编码字符集

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

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

alter database college character set gbk;

?4. 删除 d -->delete drop

删除数据库

drop database 数据库名称;

判断数据库是否存在,如果存在删除掉

drop database if exists 数据库名称;

-- drop database if exists 数据库名称;

drop database if EXISTS school;

操作表

?1. 创建表 C --> create

语法:

create table 表名(

?列名1 数据类型,

? 列名2 数据类型,

? 。。。。。。。

);

数据类型

整数类型 tinyint(微整形) 8位 smallint(小整形)16位 mediumint(中整形)24位 int(integer) 整形32位

小数类型 double 8个字节 float 4个字节

日期类型 date (年月日) time (时分秒) datetime (年月日时分秒) timestamp 时间戳 年月日时分秒

????时间戳,如果该字段为时间戳类型,没有赋值或者该字段值为null,则默认使用系统当前的时间自动赋值。一般情况一张表中只能有一个字段使用时间戳数据类型。

- 字符串类型 char(固定长度的字符串) varchar(可变长度的字符串) 使用几个字符就占几个

- 二进制类型 tinyblob(允许0~255个字节) big large blob(允许0~65535个字节) longblob(非常大)

- 文本类型 tinytext (允许长度为0~255个字节) text(允许0~65535个字节) longtext(非常大)

?2. 查看表 查询 retrieve

show tables 查看当前使用的数据库下面的所有的表

desc 表名; 描述该表的结构

查看创建的表 show create table 表名;---->查看该表创建使用到的sql语句

快速创建一个表结构相同的表 create table 新表名 like 旧表名;

?3. 修改 update

修改表名 alter

alter table 旧表名 rename to 新表名;

修改表的字符集

alter table 表名 character set 编码字符集;

添加一列字段 add

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

删除一列 drop

alter table 表名 drop 列名;

修改列名 数据类型

change alter table 表名 change 旧列名 新列名 新数据类型;

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

?4. 删除 delete

删除表 drop table 表名;

删除判断表是否存在 drop table if exists 表名;

大多数情况下我们是直接借助于图形化管理工具 Navicat直接操作。

DML 增删改数据库中的表的数据

添加数据:

语法:

?insert into 表名(列名1,列名2,......列名n) values(值1,值2,......值n);

? 注意事项:

列名和后面值的类型要保持一致。

如果表名后面没有指定列名,默认为给该表中的所有的列添加对应的值。注意依然是有顺序的。

insert into 表名 values(值1,值2,......值n);

除了数字类型外(int,double),其他类型一律要使用引号(单引号和双引号都可以)引起来。

删除数据:

语法: delete

delete from 表名 [where 条件];

注意事项:

如果后面不跟条件 ,则删除整张表的数据

删除表的所有的记录 delete from student / truncate table 表名;(底层是先把表删除掉,然后再创建一张一模一样的表)

如果条件中的字段值有重复的,凡是符合条件的都删除。

修改数据:update

语法:

update 表名 set 列名1 = 替换值1, 列名2 =替换值2,.....列名n = 替换值n [where 条件];

注意:

如果不带条件,则会修改表中的所有记录

DQL 查询表中的记录 select .... from .....

语法

?select 需要查询的信息(列名1,列名2,.......列名n) / * from 表名 [where 条件];

?完善下:

?select

? 字段列表

? from

表名列表

? where

条件列表

? group by

分组字段

having

分组之后的条件

? limit

分页限定

去重查询 distinct

使用关键字 distinct 去掉重复的记录

语法格式: select distinct 字段名 from 表名;

例如:

-- 查询本班同学都来自于哪些地方法?

select distinct address from student;

查询的结果值可以参与数学运算

ifnull表达式 ifnull(表达式1,表达式2)

? 表达式1: 代表那个字段需要判断是否为null

? 表达式2:如果该字段值为null 后面的进行替换

起别名操作

? 语法 as 也可以省略不写

? 表名 as 新的名字

? 查询出来的字段信息 as 新名字

? 当你查询同一张表,并且进行多次查询的时候可以使用起别名来实现

对指定列进行别名操作: select 列名1 as 新名字,列名2 as 新名字,..... from 表名;

对表和列同时进行别名操作: select 列名1 as 新名字,列名2 as 新名字,..... from 表名 as 新表名;

如:对学生表进行操作:查询学生表的姓名和年龄;

select

s.age as 年龄,

s.name as 姓名

from

student as s;

-- as关键字可以省略不写。

? 注意:

?起别名 只是在sql语句中方便查询使用的,并不会对数据原来的文件起到任何影响

sql操作数据库(1)-->DDL、DML、DQL

标签:ati   参与   管理   字段名   retrieve   update   别名   structure   删除

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:https://www.cnblogs.com/luayan/p/14232732.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值