【MySQL】MySQL的基础语法及其语句的介绍

1、基础语法

mysql -h【主机名】 -u【用户名】 -p //登录MySQL

exit或quit; //退出MySQL

show database; //查看MySQL下的所有数据库

use 【数据库名】; //进入数据库

show tables; //查看数据库下的所有表名

*MySQL的启动和关闭

(1)Windows系统

NET START MYSQL80 net start mysql80 //mysql80是MySQL服务的名字

NET STOP MYSQL80 net stop mysql80

(2)Linux系统

service mysql start

service mysql stop

service mysql restart //重启MySQL服务

*Windows系统下的MySQL使用命令(了解)

create user 'user01' @'localhost' identified by 'user01'; //创建用户"identifie鉴定"

drop user 'user01'@'localhost'; //删除用户

select user,host from mysql.user; //查看所有用户

select current_user(); select user(); //查看当前用户

rename user 'user01'@'localhost' to 'User01'@'localhost'; //将用户名user01 改为User01

alter user 'User01'@'localhost' identified by 'User01'; //将密码user01改为User01

show grants for 'User01'@'localhost'; //查看当前登录用户所属的条件

grant all on test.score to 'User01'@'localhost'; //这里的all是指将test库里的score表的所有权限都给User01

revoke all on test.score from 'User01'@'localhost'; //撤销权限

flush privileges; //刷新系统权限表,即时生效

2、SQL语句的介绍

*创建表

describe student; desc student //显示详细的表的信息结构

select * from student; //显示表中所有的信息

show create table student; //显示创建该表的SQL语句

drop table student; //删除整张表

truncate table student; //删除表

delete from user; //删除表中的记录

delete from user where user_id = 1; //有条件的删除表中的记录

insert into student (id,name,age) values(null,'zhangsan',23); //在表中插入数据

select name,id from student where id=20201304023; //有条件的查询表中的内容

update student set sex = '男' where sno = '20201304023'; //有条件地在表格修改数据

update student set sex = '男'; //把表格中选定的整列数据都给替换了

alter table 表名 rename to 新表名; //修改表名

alter table 表名 drop column 列名; //删除表中的具体列

alter table 表名 change 列名 新列名 varchar(30); //修改表中列的名字

alter table 表名 modify 列名 varchar(22); //修改表中具体列的属性

alter table 表名 add 字段名 字段类型 first; //将新增加的列设定为第一列

alter table 表名 add 字段名 字段类型 after 字段名; //将新增加的列设置在某个列的后面(字段名:列名 字段属性:列里面存储的数据类型)

show columns from 表名; //查看表中所有的列名

alter table student engine= myisam; //修改数据表的类型,将其表的类型修改为myisam

create database 数据库名; //创建数据库

show databases; //查看所有的数据库

drop database 数据库名; //删除具体的数据库

//快速添加一张表,使其与已存在的表student数据和结构一致

create table student2 as select * from student;

//快速添加一张表,使其与已存在的表student结构一致,但里面没有任何数据

create table student3 as select * from student where 1 = 2;

//快速添加一张表,只要部分列、部分数据

create table student3 as select sno,sname,age from student where sno =2;

//删除数据

(1)drop删除整张表

(2)delete只删除表中的数据,保留表中的结构

(3)truncate只删除表中的数据,保留表中的结构

//起别名的注意事项"AS"

select column_name(s) from table_name AS alias_name; //给表格起别名

SELECT column_name AS alias_name FROM table_name; //给列起别名

*使用别名的好处

(1)在查询中涉及超过一个表

(2)在查询中使用了函数

(3)列名称很长或者可读性差

(4)需要把两个列或者多个列结合在一起

*给表取别名的语法

SELECT w.name, w.url, a.count, a.date

FROM Websites AS w, access_log AS a

WHERE a.site_id=w.id and w.name="菜鸟教程"; //起了别名

SELECT Websites.name, Websites.url, access_log.count, access_log.date

FROM Websites, access_log

WHERE Websites.id=access_log.site_id and Websites.name="菜鸟教程"; //没起别名的

(表:Websites和access_log)

(表:Websites里的列为name,url)

(表:access_log里的列为count,date)

//有条件的查询

//去重查询

表格中的有些列里的元素重复了,想要显示该列中的所有元素

(对多个列进行去重查询,这些列组成的数组是不相同的。) distinct不同的,区别

//排序

(先对sal进行升序排序。如果某几行的sal值相同,则会按deptno进行降序排序。)

//有条件的查询"where"

(1)where +"算数运算符"

(2)where + "逻辑运算符"(与、或、非---------"and""or""!")

(3)模糊查询--------("%"代表任意字符,"_"代表单个字符)

(4)非空判断

(5)小括号-------划分判断语句的优先级

(SQL解析器在处理操作时会优先处理and操作,在处理or)

相关推荐
Mico182 小时前
麒麟v10-MySQL InnoDB Cluster 完整部署与全场景验证(从入门到精通)
数据库·mysql
杨云龙UP2 小时前
生产环境MySQL多实例XtraBackup全量备份与rsync异地自动传输实践
linux·运维·数据库·mysql·xtrabackup·主从复制·备份恢复
熊文豪2 小时前
SQLServer数据迁移之后,那张报表还能不能秒出
数据库·sqlserver·电科金仓
JosieBook3 小时前
【数据库】把数据优势转化为决策优势:TimechoAI时序大模型使用解析
数据库
会编程的吕洞宾3 小时前
MySQL 慢查询从5秒到50毫秒:索引失效六大场景定位与实战调优
数据库·mysql
浅念-3 小时前
MySQL 索引底层完整详解|磁盘Page|B+树推导|聚簇非聚簇索引|索引SQL操作
大数据·数据库·b树·sql·mysql·面试·职场和发展
小马过河R3 小时前
数据仓库入门:是什么、怎么做、和数据库有什么区别?
大数据·数据库·数据仓库·架构·驾驭工程·fde
Mico184 小时前
Percona Toolkit 3.5.7 完整实战笔记(从入门到精通)
mysql
小白勇闯网安圈4 小时前
Django Form 组件详解:从表单生成到 ModelForm 数据校验
数据库·django·sqlite