Mysql增删改查|SQL语句(最全详细讲解)

关于数据库的操作

1.查看数据库

show databases;

在这里插入图片描述

2.创建数据库

create database 数据库名;

在这里插入图片描述
创建数据库注意事项:

  • 在文件系统中,MySQL 的数据存储区将以目录方式表示 MySQL 数据库。因此,上面命令中的数据库名字必须与操作系统的约束的目录名字一致。例如不允许文件和目录名中有
    ,/,:,*,?,”,<,>,|这些符号,在 MySQL 数据库名字中这些字母会被自动删除。<遵从目录的约束>
  • 数据库的名字不能超过 64 个字符,包含特殊字符的名字或者是全部由数字或保留字组成的名字
    必须用反引号``包起来。
  • 数据库不能重名。
    在这里插入图片描述
    在这里插入图片描述
    总结:单引号和反引号使用场景
    反引号是为了区分 MySQL 的保留字与普通字符而引入的符号。
    例:create database create;
    在这里插入图片描述

如果不用反引号,MySQL 将把create视为保留字而导致出错,所以,有 MySQL 保留字作为字段
的,必须加上反引号来区分。
引号一般用在字段的值,如果字段值是字符或字符串,则要加引号,如:select=‘字段值’
不加反引号建的数据库或表不能包含 MySQL 保留字,否则出错。
在这里插入图片描述
这是创建数据库存放的位置。

3.选择要操作的数据库

use [数据库名]

在这里插入图片描述

使用 USE 语句将会选择一个数据库成为当前数据库。后面的操作默认都在被选择的数据库中操作。

4.查看自己所处的位置及默认所在的位置

select database();

在这里插入图片描述

5.在命令行选择默认的数据库

 mysql -u root -p123456 zcy1
select now(),user(),database();

在这里插入图片描述

6.删除数据库

方法一:在数 MariaDB 数据库中使用 DROP 命令删除库。

drop database  [要删除的数据库] ;

在这里插入图片描述

扫描二维码关注公众号,回复: 12428638 查看本文章

方法 2:直接到数据库存放目录中,将对应的库的目录删除就行。

cd /usr/local/mysql/data/
rm -rf create

在这里插入图片描述

方法3: 使用 IF EXISTS 子句以避免删除不存在的数据库时出现的 MySQL 的错误信息

drop database if exists `create`; 

在这里插入图片描述

关于表的操作

1. 查看库有哪些表

#查看表时,要进入到数据库再查看

 show tables;

在这里插入图片描述

2. 创建表

语法:create table 表名 (字段名 类型, 字段名 类型, 字段名 类型);

create table student(id int (20),name char(40),age int(11));

在这里插入图片描述

3. 查看表的结构

 desc 表名;

在这里插入图片描述

4. 查看创建表执行了哪些命令

 show create table student \G

在这里插入图片描述

5. 删除表

drop table 表名

在这里插入图片描述

6. 禁止预读表信息

没有禁止前的提示
在这里插入图片描述
登录的时候加上-A 参数

mysql -uroot-p123456 -A

在这里插入图片描述

7. 修改表名称 alter

语法:alter table 表名 rename 新表名;

在这里插入图片描述

8. 修改表中的字段类型

语法:alter table 表名 modify 要修改的字段名要修改的类型;

在这里插入图片描述

9. 修改表中的字段类型和字段名称

语法:alter table 表名 change 原字段名新字段名新字段类型;
例:
alter table newstudent change name stname char(20);

在这里插入图片描述
注:CHANGE 和MODIFY的区别:
CHANGE 对列进行重命名和更改列的类型,需给定旧的列名称和新的列名称、当前的类型。MODIFY
可以改变列的类型,此时不需要重命名(不需给定新的列名称)

10. 在表中添加字段

语法:alter table 表名 add 字段名 字段类型;
alter table newstudent add sex enum('M','W');

在这里插入图片描述

11. 指定位置添加字段,在第一列添加一个字段

语法:  alter table 表名 add 要添加的字段名 字段类型 first;

例:


 alter table newstudent add uid int(10) first;

在这里插入图片描述
在 age 后面添加一个 address 字段:

语法:

alter table 表名 add 要添加的字段名 字段类型和长度 after 在哪个字段后面添加;
alter table newstudent add address char(40) after age;

在这里插入图片描述

12. 删除表中字段

语法:alter table 表名 drop 字段名 ;

例:

alter table newstudent drop address;

在这里插入图片描述

关于表中记录的操作

1.插入字段<记录>insert

语法:insert into 表名 values (字段值 1,字段值 2, 字段值 3);

在这里插入图片描述

同时插入多条,使用,分开

 insert into student values(2,'lis',24),(3,'wange',26);

在这里插入图片描述

指定字段插入

insert into student (id,name)values(4,'hangl');

在这里插入图片描述

2.查询表中记录

语法:select * from 表名称;

例:

select * from student;

在这里插入图片描述

字段多的情况下可以使用\G

select * from student\G  

在这里插入图片描述
只查询表中某个字段的内容:

语法:select  要查看的表字段  from 需要查看的表名;

例:

select name from student;

在这里插入图片描述
需要查询表中多个字段时需要用,隔开

语法:select  需要查看的字段1,需要查看的字段2 from 表名;
#查看 id 和 name 字段的内容。

例:

select id,name from student;

在这里插入图片描述

3.查看别的数据库的表或者不在本数据库上进行查看

语法:SELECT 字段 FROM 数据库名.表名;

例:

select * from mysql.mstudent;

在这里插入图片描述
在这里插入图片描述

4.删除记录

语法: delete from 表名 where  条件;

例:

delete from student where id=3;

在这里插入图片描述
删除为空的行

语句:delete from 表名 where 字段名 is null;

例:

delete from student where age is null;

在这里插入图片描述

5、清空表数据

语法:truncate table 表名

例:

truncate table student;

在这里插入图片描述

6.更新记录

语法:update 表名 set name ='需要修改成的字符' where 条件;

例:

update student set name ='M' where id=2;

在这里插入图片描述

SQL基础条件查询语句

1. 基本查询

语法:select 字段名 1,字段名 2 from 表名 [where 条件];

select name,id from student where age=24;

在这里插入图片描述

2. 去重复查询

语法

select distinct  需要去去重复的字段1,需要去重复的字段2  from 表名;

例:

 select distinct name,age from student;

在这里插入图片描述

3. 使用 and 和 or 进行多条件查询

or 和 and 同时存在时,先算 and 的两边值,逻辑与先执行

例1:

 select id,name,age from student where id>1 and age>24;
 # ID 要大于1 且 age字段要大于24,两个条件缺一不可

在这里插入图片描述
例2:

select id,name,age from student where id>1 or age>24;
#id大于1 或者 age 大于24 ,满足其中之一即可

在这里插入图片描述
例3:

select * from student where name='zhangs' and (age=21 or age=24);
#要name字段等于zhangs并且(age=21或者age=24)括号内的条件是或者的关系,取其中之一进行匹配即可

在这里插入图片描述

4. MySQL 区分大小写查询

直接查询默认是不区分大小写的
在这里插入图片描述
解决方法:

例:

select * from student where binary name='jk';

#注:BINARY 是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解为在字符串比较的时候区分大小写。
在这里插入图片描述

5. MySQL 查询排序

语法:select distinct 字段 1,字段 2 from 表名 order by 字段名 asc ;

例:

select distinct id from student order by id asc;

在这里插入图片描述
然后是降序,也就是从大到小进行排序

语法:select distinct 字段 1,字段 2 from 表名 order by 字段名 desc;

例:

 select distinct name,age from student order by age desc;

在这里插入图片描述

关于 MySQL 命令帮助

更多sql语句使用方法就用help来查询吧!

help show;
# 查看show命令的信息和使用方法

会告诉我们很多show的使用方法和信息

在这里插入图片描述

help select 
# 可以查询更多select的用法

会告诉我们很多select的使用方法和信息

在这里插入图片描述

(未完待续,有新内容会持续更新,感谢查阅)

猜你喜欢

转载自blog.csdn.net/weixin_45412401/article/details/113407637