浅学一下SQL
参考文档:https://blog.csdn.net/eternity_memory/article/details/122289437
SQL
DDL(Data Definition Language)
对数据库和数据表的操作
对数据库的操作
- 查询所有数据库:
show databases;
- 创建数据库:
create database 数据库名称;
- 判断是否存在创建数据库:
create database if not exists 数据库名称;
- 删除数据库:
drop database 数据库名称;
- 判断如果存在就删除:
drop database if exists 数据库名称;
- 查看当前选中的数据库:
select database();
- 使用数据库:
use 数据库名称;
对数据表的操作
- 查询当前数据库下所有表的名称:
show tables;
- 查询表结构:
desc 表名称;
- 创建表:
create table 表名( 字段名1 数据类型1, 字段名2 数据类型2, ... 字段名n 数据类型n ); >>>> eg: create table tb_user( id int, username varchar(20), password varchar(32) );
sql数据类型:https://www.runoob.com/sql/sql-datatypes-general.html
- 删除表:
drop table 表名称;
- 判断存在后删除:
drop table if exists 表名称;
- 修改表名:
alter table 表名 rename to 新的表名;
- 在表中添加一列:
alter table 表名 add 列名 数据类型;
- 修改表中数据的数据类型:
alter table 表名 modify 列名 新数据类型;
- 同时修改列名和数据类型:
alter table 表名 change 列名 新列名 新数据类型;
- 修改表的字符集(字符集好像就是编码的意思):
alter table 表名 character set 字符集名称;
- 查看数据库中数据表的字符集:
show table status from 数据库名 like '数据表名';
- 删除列:
alter table 表名 drop 列名;
DML(Data Manipulation Language)
对表中的数据进行增删改
- 新起一行,按照列索引给某些列添加数据:
INSERT INTO 表名(列名1,列名2,...) VALUES (值1,值2,...),(值1,值2,...),(值1,值2,...);
- 新起一行,默认按照顺序依次给该列添加数据(这时候添加的数据数需要和列数相同):
INSERT INTO 表名 VALUES (值1,值2,值3,...),(值1,值2,值3,...),(值1,值2,值3,...);
- 修改数据:
UPDATE 表名 SET 列名1 = 值1,列名2 = 值2,... where 条件;
(这里如果不加条件,那么所有的数据都会被修改) - 删除数据:
DELETE FROM 表名 WHERE 条件;
(如果不加条件,则将所有数据删除)
DQL(Data Query Language)
对表中的数据进行查询
- 查看表中所有数据:
SELECT * FROM 表名;
- 多个字段查询:
SELECT 列名1,列名2,... FROM 表名;
- 去重查询:
SELECT DISTINCT 列名1,列名2,... FROM 表名;
- 计算查询:
SELECT 列名1 运算符(+ - * /) 列名2 FROM 表名;
- 条件查询:
SELECT 列名 FROM 表名 WHERE 条件;
- 排序查询(多个排序条件,当前边的条件值一样时,才会判断第二条件,排序方式包括ASC,DESC):
SELECT 列名 FROM 表名 [WHERE 条件] ORDER BY 列名1 排序方式1,列名2 排序方式2;
- 起别名:
SELECT 列名1,列名2,... AS 别名 FROM 表名;
- 聚合函数:count,min,max,avg,sum
- 分组查询 (?)
- 分页查询 (?)
isnull判断:
ifnull(表达式1,表达式2)
表达式1:想替换的列
表达式2:想替换的值
sql中的条件:
DCL(Data Control Language)
对数据库进行权限控制.
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AndrewLee!