数据库SQL语句应用

什么是数据库:
简而言之,就是存储数据,管理数据的仓库

常见的数据库分为:

关系型数据库, Oracle、MySQL、SQLServer、Access
非关系型数据库, MongoDB、Redis、Solr、ElasticSearch、Hive、HBase

定义

结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

SQL 是1986年10 月由美国国家标准局(ANSI)通过的数据库语言美国标准,接着,国际标准化组织(ISO)颁布了SQL正式国际标准。

分类

DML(Data Manipulation Language)数据操纵语言

如:insert,delete,update,select(插入、删除、修改、检索)简称CRUD操新增Create、查询Retrieve、修改Update、删除Delete

DDL(Data Definition Language)数据库定义语言

如:create table之类

DCL(Data Control Language)数据库控制语言

如:grant、deny、revoke等,只有管理员才有相应的权限

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

注意:SQL不区分大小写

数据库常用操作

创建数据库,数据库名称:cbg2105       create database cagb2105 default character set utf8;

删除名称是cbg2105的数据库          drop database cgb2105;

查看所有数据库                      show databases;

使用数据库                          use cgb2105;

表的常见操作

创建表 :create table 表名(字段名 字段类型(字段长度),字段2,字段3…)

String -> varchar

int -> int

double -> double

Create table abc(id int(3), name varchar(10), age int(3) );

Show tables; 显示所有表

删除表 : drop table 表名

Drop table abc;

修改表 --添加列

Alter table tb_door add column addr varcher (100);

Desc tb_door; 查看表的结构(描述表)

查看表

Show tables;

描述表

Desc tb_door; 查看表的结构

表里的记录的常见操作

新增:insert into 表名 values(‘字段1的值’ , “字段2的值” , …)

Insert into tb_door values (1000, ’first’, ‘0108888’, )

删除:delete from 表名

Delete from tb_door;

Select * from tb_door; 查询该表有没有被删除

删除tb_door表中id为2的数据

Delete from tb_door where id=2;

修改:update 表名 set 字段名=字段的新值

Update tb_door set address=’上海’;

修改tb_door表中id为1的记录

update tb_door set tel=555 where id=1;

查询:select 字段名 from 表名

select id from tb_door; --只查id列的值

select id,addr from tb_door; --查id和addr列的值

select * from tb_door; --查所有列的值 -- 低效

查询tb_door表中的所有记录

Select * from tb_door;

排序

将tb_door表记录按照tel排序

Select * from tb_door order by  tel;  升序

Select * from tb_door order by  tel  desc; 降序

记录总数

查询tb_door表中的总记录数

Select count(*) from tb_door;

数据类型

命名规则:

• 字段名必须以字母开头,尽量不要使用拼音

• 长度不能超过30个字符(不同数据库,不同版本会有不同)

• 不能使用SQL的保留字,如where,order,group

• 只能使用如下字符az、AZ、0~9、$ 等

• Oracle习惯全大写:USER_NAME,mysql习惯全小写:user_name

• 多个单词用下划线隔开,而非java语言的驼峰规则

字符

• char长度固定,不足使用空格填充,最多容纳2000个字符,char(11)存储abc,占11位。查询速度极快但浪费空间

• varchar变长字符串,最多容纳4000个字符,varchar(11)存储abc,只占3位。查询稍慢,但节省空间。Oracle为varchar2

• 大文本: 大量文字(不推荐使用,尽量使用varchar替代)

以utf8编码计算的话,一个汉字在u8下占3个字节

注:不同数据库版本长度限制可能会有不同

数字

• tinyint,int整数类型

• float,double小数类型

• numberic(5,2) decimal(5,2)—也可以表示小数,表示总共5位,其中可以有两位小数

• decimal和numeric表示精确的整数数字

日期

• date 包含年月日

• time时分秒

• datetime包含年月日和时分秒

• timestamp时间戳,不是日期,而是从1970年1月1日到指定日期的毫秒数

图片

blob 二进制数据,可以存放图片、声音,容量4g。早期有这样的设计。但其缺点非常明显,数据库庞大,备份缓慢,这些内容去备份多份价值不大。同时数据库迁移时过大,迁移时间过久。所以目前主流都不会直接存储这样的数据,而只存储其访问路径,文件则存放在磁盘上。

字段约束

没有约束,id的值可以重复,可以是null

create table a(id int)

主键约束,id的值不能重复,不能是null

create table b(id int PRIMARY key)

主键约束自动递增,id的值不能重复,不能是null,而且自动递增

create table c(id int PRIMARY key auto_increment)

没有非空约束:字段的值可以为空

create table d( name varchar(10) )

非空约束:字段的值不能为空

create table e( name varchar(10) not null )

不用唯一约束:字段的值可以重复

create table f( name varchar(10) )

唯一约束:字段的值不能重复

create table g( name varchar(10) unique )

Mysql的基础函数

常见函数

lower–全转小写

select dname from dept

select dname,lower(dname

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值