我对mysql
的预习随笔
自己之前在学校上过《数据库原理》这门课,奈何当时年少轻狂,不好好读书,已然将昔日之所学尽数还于恩师。今日不得不将基础重新预习一遍…(书到用时方恨少…啊啊啊啊啊啊啊啊啊啊啊啊啊)
sql
语句的基本语法
创建数据表(数据库存的是一张张的关系表,所以第一步先学怎么创建一张表)
create table table_name(column_name column_type)
create table bill_table(
bill_id int,
goods_name varchar(32),
money int,
date datetime,
primary key(bill_id) # 设置主键
)
增
insert into table_name (cloumn_name,[cloumn_name...]) values (value1,[value2...])
insert into bill_table (bill_id,goods_name,money,date) values (1234,'paomian',5,'2020-2-2 10:48:43');
删
delete from table_name [where clause] # 不加where后的子句直接删掉整个表的记录
改
update table_name set column_name=new_value,[column_name=new_value...] [where clause]不加where后的子句直接改掉整个表的记录
查
select column_name,[column_name...] from table_name [where clause]
limit
limit [m],n
如果limit
后面只有一个数字n
则查询结果显示n
条,可以理解为m
默认为0,m
的作用是从第几条数据开始显示。
where
where
后面跟查询子句,相当于过滤条件。
他支持简单的算术运算符如:=,>,<,<=,>=,<>,!=
如果一句话写不完还可以加上and
,or
关键字继续补充查询子句。
like
当要查询的内容记不清楚了,只记得部分就可以用like
关键字进行模糊匹配,具体的通配符一下子也记不住,先来个简单的%
select * from table_name where column_name like %y
#查询以y
结尾的字段
order by
order by column_name [ASC or DESC]
or order by column_number [ASC or DESC]
第二个语句,其实就是sql
注入中用来判断表有几个字段的语句
group by
对数据按照某种规则进行分组
select * from table_name [where clause] group by column
上面的语句都是对数据内容进行操作的,下面的语句对数据表结构,数据库进行操作
alter
alter table table_name drop column_name
alter table table_name add column_name column_type
alter table table_name modify column_name column_type
alter table table_name change old_column_name new_column_name new_column_type
alter table table_name rename new_table_name
其他的一些东西
也不知道怎么写出了这样的po文章,先不管了,漏了的以后想起来再补(估计不会想起来…)
事务
从我这个屌丝的角度去解释,就是一堆任务放一块,如果顺顺利利的都想执行完成了,那么这个事务就算完成了,如果这一堆中的任何一个没有完成(各种情况造成的,比如宕机,…md 就只能想到这个),那么这个事务就不可以算是完成,他会回到过去(想回到过去…)回到他开始执行之前的地方(if love just like this,what a wonderful world it will be…)
mysql
怎么用事务呢
简单输入一个begin
就可以了,这就代表一个事务已经开始了,我们可以做许多的操作,比如插入,查…这时突然发现我们一通操作,操作错了数据表怎么办,rollback
一些就可以,这就回到了当初的起点。如果,我们没有操作错误,觉得对自己的操作很满意,就commit
一下把我们的修改提交一下就可以了,我们的操作就彻底生效了。
#############################################################################