SQL语句基础入门基础讲解

本文是SQL语句的基础入门讲解,涵盖了数据定义(DDL)、数据管理(DML)、数据查询(DQL)及数据操作的各个方面,包括创建数据库、表,查询、更新、删除数据,使用索引、视图以及高级查询运算符等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DDL 数据定义语言管里数据结构


1.创建数据库
create datavase 数据库名   charset utf8

2.显示所有数据库
show databases;

3
jdbc在Java代码里面调用数据库.

4.使用数据库
use 数据库名


5.创建表,储存数据的单位.每一行就是一条数据,每一列就是字段
create  table 表名(id int ,username varchar,age int)


6.显示所有的表
show tables;


7查看表的字段
desc  表名

8给表加字段
alter table 表名 add  字段名  字段类型

9.修改字段的类型
alter  table  表名  modify  字段名  字段类型。

10.删除字段
alter  table 表名  drop  字段名;

11.修改表名
rename   table  原名 to 新名

12.查看见表细节
show  create table 表名

13.修改表的字符集
alter   table  表名  charter  set  字符集名字

15.修改列名

alter   table  表名   change  原始列表  to  新列名字   字段类型

16.删除表名
drop     table   表名

DML数据管理语句.
1.查询所有的数据.
select  * from  表名  \g

2,插入数据.
insert into 表名(字段1,字段2,字段3)values(字段1值。字段2值 。字段三值)

3.更新数据
update  表名  set 列名=列值   where   列名=列值

4.删除记录
delete   from  表名   where  列名=值;  数据可以找回
truncate  table  表名      删除整个表  在重新建立一个一样结构的表数据不能找回


DQL 数据查询语句
1.查询所有语句
select  * from  表明
2.查询指定的主数据
select     指定字段name  from  表名  


3.条件查询 (根据条件来进行查询)
select  * from   表名   where   age<=17;   where后面更上条件

=等于
!=  不等于

betwen  .............. and  .................查询年龄在哪一个范围之间
select   *  from stu  where  age   beetewn   15  and  17


and        查询年龄等于17和15的  select   *  from  stu  where age=17 and id=4;使用两个条件
or            select * from stu where age=15 or age=17;or代表两者选择其中 一个,只要满足一个条件就可以
is  null    

is   not null   ;

模糊查询
关键字为like
     select  * from  stu where  name like "马%";查询所有姓马的人


排序  ;  order  by
升序是默认的  ase
降序是sesc
select  * from   stu  order  by  age   desc   将年龄按照降序排列

聚合函数
count()统计不是null的行数
max()
min()  最小
avg()平均值


select  max(age) from   stu;

分组
group   by   字段名
select  * from stu  group  by age; 对年龄进行分组。
having  可以后面更上聚合函数
select  * from(1)     where(2)   group   by(3)     having(4)    order  by(6)    limit  (7)

分页:limit  int 从下标那个开始,到那个结束。


约束
primary   key  主键约束 唯一而且不为空
unique  唯一
auto_increment   自增
not   null  不为空
保证数据的完整性


多表连续查询
我们之前学到的东西只能在一个表里面查询,现在我要早多个表里面查询 
查出每一个学生所对应的老师的名字,传统的单表查询时做不到的
1.99查询   select  student.name.name  from student ,teacher where student.id=teacher.sid;
2内链接
select  * from  表1,join 表2  on  条件;
select  * from  student  join  teacher   on  student.id=teacher.sid;


左外链接   右外链接
就是把左表剩余的东西查出来

索引  
加快查询效率   
假如由1000晚眺数据,我们给id加上索引
创建索引
create  index   索引名  on  表名(字段)
删除索引
drop   index  索引的名字   on   表名
查看索引
show   index   from   表名


条件判断
in  表示在什么里面的数据in(m,n)表示从m到n之间的数据
not   in   表示不再什么之间的。  not   in(m,n)

 

 

下面来说说如何创建视图。使用sql语句。视图就像我们大的word,excel表格的视图时一样的。下面我们来看看具体的代码来如何创建视图.语法如下

Create  view 视图名字  as  Select  查询的字段1,查询的字段2,查询的字段3 from  表名   where  条件;

 

删除视图

drop  view  视图的名字;

下面来看看几个简单的sql语句

1,选择

select * from table1 where 范围

2.插入

insert into table1(field1,field2) values(value1,value2)

3,删除

 delete from table1 where 范围

4.更新

update table1 set field1=value1 where 范围

5.查找

select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!其中like为模糊匹配

6.排序

select * from table1 order by field1,field2 [desc]   按照降序排序,默认是升序

7.求和

select  sum(字段名) from  表名   其他的几个函数都是一样的,就不多少了。

 

二:说明几个高级的运算查询.

A.unique运算符。

UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。

B.

EXCEPT 运算符

  EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。

C.

INTERSECT 运算符

  INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。

  注:使用运算词的几个查询结果行必须是一致的。

 

平时的时候大家要多去写sql语句,这样将sql语句用到极致。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值