【SQL语法】数据库操作常用命令归纳

最近更新时间:2024.04.14

基本命令

mysql -uroot -p           ===连接数据库(-p=password,需要输入密码)(-uroot=以root用户登录)

show databases/tables;    ===显示所有数据库/use [库名];               ===使用某个数据库

desc [表名];              ===只查看某表的结构,不显示数据
select database();       ===查看当前使用的是哪个数据库

查询操作

【普通查询】
select [列名1],[列名2],... from [表名];

【带条件查询】
select [列名1],[列名2],... from [表名] where [条件];

【查询结果自动排序】
select [列名1],[列名2],... from [表名] order by [列名] [ASC|DESC];   ===按照指定列名中数据[升序|降序]排列所有数据

【分组查询】
select [列名1],[聚合函数](列名2) from [表名] where [条件] group by [列名1];
示例:SELECT customer_id,COUNT(order_id) AS total_orders,SUM(amount) AS total_amount FROM orders GROUP BY customer_id;

【联合查询】
select * from [table1] union select * from [table2]
select * from [table1] union select 1,2,3 from [table2]     #table1有3列,则右边查询带有常量也必须是三个
注意:
table1和table2的列数需要相同(即左右两个select查询的列数一致)
在数据库中查询显示的结果,列名由第一个select语句决定

【子查询】
select [列名1] from [表名1] where [列名1] IN (select [列名2] from [表名2]);

聚合函数可以是 COUNT(), SUM(), AVG(), MAX(), MIN() 等,用于对一组值执行计算。
AS 表示为列指定别名,查询结果中,某列按照指定的别名显示。

创建&删除

【创建表】
create table [表名] ([列名1] [数据类型(字符大小)] [字段约束和属性],...,字段n);
示例:create table students (ID int primary key,Name varchar(50),Age int);
create database [库名];      ===创建数据库

【删除表中数据】
truncate table [表名];       ===直接删除表中所有数据但不删除表,不会记录任何事务日志,删除后无法恢复
delete from [表名];          ===和上面同理,但有记录

delete from [表名] where [条件];       ===将删除表中满足特定条件的行,并且每个删除的行都会被记录在事务日志中
示例:delete from students where age<18;

drop database [库名];       ===删除整个数据库
drop table [表名];          ===直接删除整个表

新增&修改数据

【向表中插入数据】
insert into [表名](列名1,列名2,...,列名n)values(1,2,3,...,值n),(1,2,3,...,值n),...;
示例:INSERT INTO students(id, name, age) VALUES (1,'张三',20),(2,'李四',22),(3,'王五',21);

【修改表中数据】
update [表名] set [列名1=1],[列名2=2],... where [条件];
示例:UPDATE students SET age=23 WHERE id=3;

字段属性和约束

not null          //不允许为空
default []      //设置默认值
unique            //字段值唯一,可以为空
primary key       //主键属性(列级完整性约束条件)
foreign key ("列名1") references [表名2](["列名2"])     //外键属性(表级完整性约束条件),列名1为参照码,表名2为被参照表,被参照列为表2中的列名2。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值