MySQL日常SQL操作命令

关于数据库的操作

show databases; 查看数据库

create database test_db; 创建名为test_db数据库

select database();   查看自己所处的位置

show variables like '%char%'; 查看数据库字符集

select now(),user(),database(); 显示当前时间,登录用户名,所在数据库位置。

drop database test_db ; 删除数据库

drop database if exists `HA-test`;如果存在HA-test就删除HA-test数据库

create database if not exists HA;如果不存在HA数据库就创建HA数据库

======================================================================

关于表的操作:

创建表:

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

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

mysql> create table student2(id int(20),name char(40),age int)ENGINE=MyISAM DEFAULT CHARSET=utf8;  可以指定表的默认存储引擎和字符集

查看表:

要进入到数据库再查看

mysql> use mysql;

mysql> show tables;

查看表的结构:

mysql> desc student;

清空表内容:

delete from test01 ;

删除表:

mysql> drop table student2;

修改表名称ALTER:

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

mysql> alter table student rename students; 

修改表中的字段类型:(不需要修改字段名)

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

mysql> alter table students modify id int(10);

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

语法:alter table 表名 change 原字段名 新字段名 新字段类型;

mysql> alter table students change name stname char(20);

在表中添加字段:

语法:alter table 表名 add 字段名 字段类型;

mysql> alter table students add sex enum('M','W');

指定位置添加字段:

在第一列添加一个字段:

mysql> alter table students add uid int(10) first;

在age后面添加一个address字段:

mysql> alter table students add address char(40) after age;

在表中添加字段:

语法:alter table 表名 add 字段名 字段类型;

mysql> alter table students add sex enum('M','W');

删除表中字段:

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

mysql> alter table students drop address;

===================================================================

关于记录的操作:

插入字段<记录>INSERT:

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

mysql> insert into student values(1,'zhangs',21);   插入记录时要对应相对的类型

mysql> insert into student values(2,'lis',24),(3,'wange',26);  同时插入多条,使用,分开

mysql> insert into students (id,name)values(4,'hangl');  指定字段插入

查询表中记录:

语法:select * from 表名称;

mysql> select * from student;  *表示所有

当字段比较多的时候我们也可以使用\G

mysql> select * from student\G

只查询表中某个字段的内容:

mysql> select name from student;

mysql> select id,name from student;

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

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

mysql> select *from HA.student; 查看某个数据库下指定的表内容,数据库名.表名

删除记录:

删除id为3的行

mysql> delete from students where id=3;

删除age为空的行

mysql> delete from students where age is null;

更新记录

mysql> update students set sex='M' where id=2;

mysql> update students set id=2;  所有的都变为2

update students set stname='zhangsan',age=21 where uid=1;同时更新多个字段时候用,号隔开

SQL基础条件查询语句

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

1;查询STUDENTS表中的NAME,AGE

mysql> select name,age from students;

2:去重复查询distinct 

mysql> select distinct name,age from students;

mysql> select  distinct id,name,age from students where id=3;

select distinct * from students; mysql的distinct可以对*使用

3:使用AND和OR进行多条件查询

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

mysql> select id,name,age from students where id>3 and age>25;

mysql> select id,name,age from students where id>3 or age>25;

select * from students where stname='zhangsan' and (age=21 or age=24);注意and和or都是用的时候的逻辑关系

4:MYSQL区分大小写查询:

Mysql查询默认是不区分大小写的

mysql> select name from students where name='jk';

解决

mysql> select * from students where binary name='jk'; 

BINARY是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解为在字符串比较的时候区分大小写。

5:MYSQL查询排序:

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

默认为升序  asc

mysql> select distinct id from students order by id asc;

mysql> select distinct id from students order by id desc;

版权声明:
作者:WaterBear
链接:https://l-t.top/1769.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>