基本SQL语句
sql语句必须以分号结尾
不需要怕输错了,输错了没有效果。会报错
重要概念:
库 -- 文件夹
表 -- 文件夹里的文件
记录 -- 文件夹里的文件中的数据
"小白比喻, 本质上有一点点区别"
1.查看所有的库名称
show databases;
2.查看所有的表名称
show tables;
3.查看所有的记录
select * from mysql.user; \G
基于库的增删改查
1.创建库
create database 库名;
2.查询库
show databases; # 查询所有库名
show create database 库名; # 查询指定库名信息
3.编辑库
alter database 库名 charset='utf8' # 修改库的编码
4.删除库
drop database 库名;
基于表的增删改查
操作表之前提 创建库 后进入需要操作的库
create dabase 库名;
use 库名; # 进入库
1. 创建表
create table 表名(字段名1 字段类型,字段名2 字段类型)
2. 查询表
show tables; # 查询所有表
show create table 表名; # 查询指定表信息
desc 表名; # 查询表结构
跨库查询表
dese 库名.表名;
3.编辑表
alter table 表名 rename 新表名; # 修改表名
4.删除表
drop table 表名;
基于记录的增删改查
1.插入数据
insert into 表名 values(数据值1,数据值2);
2.查询数据
select * from 表名; # 查询表中所有数据
select name from 表名; # 指定姓名
3.编辑数据
update 表名 set 字段名=新数据 where 筛选条件;
4.删除数据
delete from 表名;
delete from 表名 where id=1;
操作补充
'concar'
用于给分组前的字段做拼接操作
eg:
select concat(name,'|',sex) from emp;
'concat_ws'
用于拼接多个字段且中间的连接符一致
eg:
select concat_ws('|',name,sex,age) from emp;
'exists'
后者语句有结果的情况下才会执行前者语句否则不执行 返回空数据
eg:
前者sql语句 exists(后者sql语句)
表相关操作补充
alter table 表名 add 字段名 字段类型(数字) 约束条件; # 添加字段
alter table 表名 add 字段名 字段类型(数字) 约束条件 after 旧字段名; # 在旧字段名下添加新字段
alter table 表名 add 字段名 字段类型(数字) 约束条件 first; # 最上行添加新字段
alter table 表名 change 旧字段名 新字段名 字段类型(数字) 约束条件; # 修改字段与字段类型
alter table 表名 modify 旧字段名 新字段类型(数字) 约束条件; # 修改 表中字段的类型
alter table 表名 drop 字段名; # 删除字段
