常见SQL语句杂谈(笔记)

SQL语句(总结,完整的select语句)


select distinct * from 表名 where ...group by ... having ...order by ...
limit start,count 执行顺序为:
from 表名
where ...
group by ...
select distinct *
having ...
order by ...
limit start,count
实际使用中,只是语句中某些部分的组合,而不是全部

创建表:

DROP TABLE if EXISTS students;
CREATE table students(
studentNO int UNSIGNED PRIMARY key auto_increment,
name VARCHAR(20),
sex VARCHAR(1),
hometown VARCHAR(20),
age INT UNSIGNED,
class VARCHAR(20),
card VARCHAR(20)
)CHARSET=utf8

1、子查询(查询结果作为where条件)

SELECT AVG(age) from students;
SELECT * FROM students WHERE age > (SELECT AVG(age) from students);

2、自关联查询:将一张表分解成两张表自关联 (一对多PS:省对应多个市-市对应多个县...)

SELECT * from areas AS p INNER JOIN areas AS c on c.pid = p.aid WHERE = '条件名';


命令行客户端:

1、进入MYSQL的bin目录
2、连接 mysql mysql -u root -p

查看所有数据库:
show databases;

使用数据库:
use 数据库名

查看当前使用的数据库:
select database();

创建数据库:
create database 数据库名 charset = utf8;

删除数据库
drop database 数据库名;

数据表中命令的操作:

修改表-添加字段
alter table 表名 add 列名 类型;

查看当前数据库中所有表
show tables;

查看表结构
desc 表名;

查看表的创建语句
show create table 表名;

mysql高级操作: 事务 -- 原子性 、持久性、隔离性、一致性
开启事务,命令如下:
开始事务后执行修改命令,变更会维护到本地缓存中,而不是维护到物理表中:begin;

提交事务,命令如下:
将缓存中的数据变更成维护到物理表中 commit;

回滚事务,命令如下:
放弃缓存中变更的数据 rollback;

修改数据的命令会触发事务,包括:insert、update、delete

 

 

 

原文地址:https://www.cnblogs.com/bifeng/p/11071099.html