SQL数据库语句

前言

SQL用于访问和处理数据库的标准的计算机语言。SQL 可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统。但是由于各种各样的数据库出现,导致很多不同版本的 SQL 语言。为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的关键词(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等),这些就是我们要学习的SQL基础。
SQL的类型:
DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等。
DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据)增删改。
DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别。
DQL(Data Query Language):数据查询语言,用来查询记录(数据)查询。

一、数据表操作

1.创建表

Create table 表名(
字段名 类型 约束
...
)
注意:两个字段的话,第一个字段后面应该跟一个逗号;

常用数据类型:
int:整型
double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;默认支持四舍五入。
char:固定长度字符串类型; char(10) 'aaa ’ 占10位
varchar:可变长度字符串类型; varchar(10) ‘aaa’ 占3位
text:字符串类型,比如小说信息;
blob:字节类型,保存文件信息(视频,音频,图片);
date:日期类型,格式为:yyyy-MM-dd;
time:时间类型,格式为:hh:mm:ss
timestamp:时间戳类型 yyyy-MM-dd hh:mm:ss 会自动赋值
datetime:日期时间类型 yyyy-MM-dd hh:mm:ss

如:
create table student2( 
id int unsigned primary key auto_increment, 
name varchar(10), 
age int unsigned, 
height decimal(5,2) 
)
注:第二行代码是用来约束,表示它的唯一性,主键,int,无符号,自动递增。

2.删除表

Drop table 表名
Drop table if exists 表名    #如果表存在,先删除再创建

3.修改表

alter table 旧表名 rename 新表名                  #修改表名
alter table 表名 add 新列名 新的数据类型          #添加列
alter table 表名 change 旧列名 新列名 新的数据类型 #修改列

二、数据查询

Select * from 表名           #查询所有字段
Select 列1,列2 from 表名   #查询指定字段
select name as 姓名,sex as 性别,nametown as 家乡 from    students     #给查询字段起别名
select s.name,s.age from student2 as s     #给表名起别名,前面列名要加s.,查询多个表使用
select distinct sex from student2          #去重复,distinct去重复

三、数据操作

1.添加数据

Insert into 表名 values(1,‘亚瑟’,20,123.1)  #给所有字段设置数据,id写一个占位符,可以保证ID自动增长,占位符:0,defalt,null  
Insert into 表名(字段1,...) values(值1,...) #给指定字段设置数据,值的顺序与给出的字段顺序对应
insert into student2(name) values('小红');
insert into student2(name) values('小新');
insert into student2(name,age) values('哈哈',20)                #写多条插入语句
insert into student2(name) values('大桥1'),('大桥2'),('大桥3') #一条语句插入多条

2.修改数据

Update 表名 set 列1=值1.....where 条件

3.删除数据

delete from 表名 where 条件        #注:要是后面不跟条件,则会清空整个表

四、其他

逻辑运算符:> <  and or not
select * from student2 where age<20 and sex = '女'  #查询年龄小于20的女同学

模糊查询:Like   % 表示任意多个任意字符    -(下划线) 表示一个任意字符
select * from student2 where name like '孙_'  #查找姓孙且名字时一个字的学生

范围查询:in表示在一个非连续的范围内 between…and… 表示在一个连续的范围内
select * from student2 where hometown in('北京','上海','陕西')   #查询家乡是北京或上海或陕西的学生
空判断:null 与 ‘’ 空字符串是不同的   判空 is null
Select * from student where height is null     #查询没有填写身高的学生
排序:select * from 表名order by 列1 asc|desc,列2 asc|desc  #默认排序为 ASC 升序,DESC 降序
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值