关于数据库的操作
1.查看数据库
show databases;
2.创建数据库
create database 数据库名;
创建数据库注意事项:
- 在文件系统中,MySQL 的数据存储区将以目录方式表示 MySQL 数据库。因此,上面命令中的数据库名字必须与操作系统的约束的目录名字一致。例如不允许文件和目录名中有
,/,:,*,?,”,<,>,|这些符号,在 MySQL 数据库名字中这些字母会被自动删除。<遵从目录的约束> - 数据库的名字不能超过 64 个字符,包含特殊字符的名字或者是全部由数字或保留字组成的名字
必须用反引号``包起来。 - 数据库不能重名。
总结:单引号和反引号使用场景
反引号是为了区分 MySQL 的保留字与普通字符而引入的符号。
例:create databasecreate
;
如果不用反引号,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 [要删除的数据库] ;
方法 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的使用方法和信息
(未完待续,有新内容会持续更新,感谢查阅)