SQL学习(一)

SQL(Structured Query Language)结构化查询语言,是用于查询和操作数据的标准的计算机语言。

问题:在那查询与操作数据?什么样的数据?

答:查询与操作的数据是存放在数据库里,数据其实就是由各种表和关系组成的,表由列和行组成。

SQL特点:简单易学不区分大小写,功能强大,只说明要做什么。


基础命令(常用的命令,学完就可以基本使用,不区分大小写)

  • CREATE (create) - 创建新表

  • SELECT (select)- 从数据库中提取数据

  • WHERE(where)-条件过滤

  • AND和OR-运算

  • ORDER BY(order by)-对数据的列内容进行排序

  • INSERT INTO(insert into) - 向数据库中插入新数据

  • UPDATE(update) - 更新数据库中的数据

  • DELETE(delete) - 从数据库中删除数据

  • TRUNCATE TABLE-清除表数据

  • DROP TABLE-删除表

说明:SQL不区分大小写,为方便写作,下面关键字博主全部用小写;

后面的分号一般SQL不强制要求,最好写上。这里中英文分号可能有误,请注意复制时要调整。

目录

SQL(Structured Query Language)结构化查询语言,是用于查询和操作数据的标准的计算机语言。

基础命令(常用的命令,学完就可以基本使用,不区分大小写)

1.create——创建表语句

2.select——查询语句(查询出来的数据也是表)

3.WHERE——条件过滤,条件写在后面。

4.AND和OR运算

5.ORDER BY ——排序

6.INSERT INTO——插入数据(以前没有的数据)

7.UPDATE ——更新语句(已经存在的)

8.DELETE——删除语句

9.TRUNCATE TABLE——清除表数据

10.DROP TABLE ——删除表(全部删除)


1.create——创建表语句

语法:
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
);
  • 常用数据类型

数据类型说明
int整型类型
char(n)字符、字符串类型,固定长度数值n;如char(25),固定数值25位。
varchar(n)字符、字符串类型,根据内容可变的长度,最大长度数值为n。
numeric(a,b)精确数值区间,总位数a,小数点后位数b
date存储年、月、日的值
#例子一
create table students(  #create创建的都是表头或称列名
name varchar(255) primary key,  #定义可变的字符型255位,primary key主键
age int,    #定义固定整型2位
);
注:primary key 主键可以理解是一张表的唯一标识,且不能为null 没有主键的表设计不严谨,
#例子二
create table employees(
employeename int primary key,
name char(10) not null, #该字符不能为空
manager int,
hiredate date,
salary numeric(7,2),    #总的长7位,小数点精确到2位
);

2.select——查询语句(查询出来的数据也是表)

  • 查询表中所有的数据,所有的数据。

select * from 表名; # *号是所有列的数据
  • 查询指定的表中数据,只需要指定的列数据。

select 列名1,列名2,..  from 表名;
  • 带参数去除重复值,distinct。一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。

select distinct 列名1,列名2,..  from 表名;

3.WHERE——条件过滤,条件写在后面。

select 列名,列名 from 表名 where 列名 运算符 值;
​
#例子
select * from students where age >= 19;
运算符说明
=等于
<>或!=不等于
>大于
<小于
>=大于等于
<=小于等于
between在某个范围之内
like搜索匹配的字符串模式
#例子
select * from employees;    #查询员工表中所有的数据
select name,age from employees; #查询员工的姓名和年龄字段
select age from employees;  #去除年龄重复的值
select * from students where name = '张三';   #值是字符需要引号

4.AND和OR运算

AND(与运算)如果第一个条件和第二个条件都成立,则 AND 运算符为真。

OR(或)如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符为真。

#例子
select * from students where age > 19 AND name = '张三';
select * from students where age > 19 OR age < 25;
select * from students where (age > 19 OR age < 25) AND name = '张三'; #使用圆括号来组成复杂的表达式

5.ORDER BY ——排序

ORDER BY (order by)关键字用于对结果列按照一个列或者多个列进行排序。

ORDER BY (order by)关键字默认按照升序对记录进行排序,需要按照降序进行排序,使用 DESC 关键字

select * from students order by name; #对学生表按照name进行排序,默认是升序
select * from students order by name DESC;  #对学生表按照name进行降序排
select * from students order by name,age; #对学生表按照name和age进行排序,默认是升序

6.INSERT INTO——插入数据(以前没有的数据)

  • 为表中所有的字段添加数据,是按一行全部列的内容填入

insert into 表名 values (列1的值,列2的值,列3的值,...);
  • 为一行中指定的列插入数据
insert into 表名(列名,列名,...) values (值,值,...);
#例子一,学生students中列名有(序号,姓名,年龄,时间这四个表头0
insert into students values (1,'张三',20,'2022-05-01'); #全部插入,字符需要单引号或双引号
insert into students(name,age) values ('张三',20);    #部分插入

7.UPDATE ——更新语句(已经存在的)

UPDATE 语句用于更新表中已经存在的记录。

语法:update table_name set column1=value1,column2=value2,... where some_column=some_value;

注:请注意 UPDATE 语句中的 WHERE 子句!WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!

#例子
update students set age=19,name='李四' where name = '张三'; #要把张三的名字换成李四,年龄换成19

执行没有 WHERE 子句会全部更新的 UPDATE 要慎重,再慎重

8.DELETE——删除语句

DELETE 语句用于删除表中的行。

语法:delete from table_name where some_column=some_value;

注:请注意 DELETE 语句中的 WHERE 子句!WHERE 子句规定哪条记录或者哪些记录需要删除。如果您省略了 WHERE 子句,所有的记录都将被删除!

#例子:
delete from students where name = '张三';
delete * from students;     #删除所有的行,不删除表

9.TRUNCATE TABLE——清除表数据

如果我们仅仅需要除去表内的数据,但并不删除表本身,那么我们该如何做呢?

truncate table students;    #清除了学生表中数据,没有删除表
delete * from students;     #也可以删除所有的行,不删除表,

10.DROP TABLE ——删除表(全部删除)

DROP TABLE 语句用于删除表(表的结构、属性以及索引也会被删除)。

drop table students; #删除students表

posted @   六点的晨曦  阅读(4)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

喜欢请打赏

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示