暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL学习笔记 01: MySQL事务处理相关语法

原创 小小亮 2021-03-25
364

下面是我自己总结的有关mysql的使用细节,也是我在学习过程中的一些记录吧,希望对你有点帮助。

MySql概述:MySql是一个种关联数据库管理系统,所谓关联数据库就是将数据保存在不同的表中,而不是将所有数据放在一个大的仓库中。这样就增加了速度与提高了灵活性。并且MySql软件是一个开放源码软件。

注意,MySql所支持的TimeStamp的最大范围的问题,在32位机器上,支持的取值范围是年份最好不要超过2030年,然后如果在64位的机器上,年份可以达到2106年,而对于date、与datetime这两种类型,则没有关系,都可以表示到9999-12-31,所以这一点得注意下.

还有,在安装MySql的时候,我们一般都选择Typical(典型安装)就可以了,当然,如果还有其它用途的话,那最好选择Complete(完全安装);在安装过程中,一般的还会让你进行服务器类型的选择,分别有三种服务器类型的选择,(Developer(开发机)、Server Machine(服务器)、Dedicated MySql Server Machine(专用MYSQL服务器)),选择哪种类型的服务器,只会对配置向导对内存等有影响,不然其它方面是没有什么影响的;所以,我们如果是开发者,选择开发机就可以啦;然后接下来,还会有数据库使用情况对话框的选择,我们只要按照默认就可以啦;

连接与断开服务器
连接:在windows命令提示符下输入类似如下命令集:mysql –h host –u user –p
例如,我在用的时候输入的是:mysql –h localhost –u root –p
然后会提示要你输入用户密码,这个时候,如果你有密码的话,就输入密码敲回车,如果没有密码,直接敲回车,就可以进入到数据库客户端;连接远程主机上的mysql,可以用下面的命令:mysql –h 159.0.45.1 –u root –p 123

断开服务器:在进入客户端后,你可以直接输入quit然后回车就可以了;

下面就数据库相关命令进行相关说明
你可以输入以下命令对数据库表格或者数据库进行相关操作,在这里就省略了,然后直接进行文字说明了;

Select version(),current_date;//从服务器得到当前mysql的版本号与当前日期
Select user();  //得到当前数据库的所有用户
Use databasename;  进入到指定的数据库当中,然后就可以操作这个数据库当中的表格了
Show databases;  //查询目前数据库中所有的数据库,并且显示出来;
Create batabase databasename;创建数据库,例如:create database manager;
Show tables;  //查看当前数据库中的所有表格;
Create table tablename(colums);创建表,并且给表指定相关列

例如:create table pet(name varchar(20),owner varchar(20),species varchar(20),sex char(1),birth date,death date);

Describe tablename;将表当中的所有信息详细显示出来,例如:describe pet;
可以用命令一次插入多条记录,例如:

Insert into pet values(‘Puffball’,’Diane’,’hamster’,’f’,’1993-12-3’,null),( ‘Puffball’,’Diane’,’hamster’,’f’,’1993-12-3’,now());

Select * from pet; 从pet表当中查询出所有的记录,显示出来;
Delete from pet where id=1;删除ID为1的那一条记录;
Update pet set birth=’2001-1-3’ where name=’Bowser’;更新name为Bowser的记录当中的birth字段的值;
Select distinct owner from pet;从pet表中选择出owner字段的值唯一的行,如果有多行记录这个字段的值相同,则只显示最后一次出现这一值的一行记录;

有关日期计算:

Select name,birth,curdate(),(year(curdate())-year(birth)) as age from pet;
此处,year()函数用于提取对应字段的年份,当然类似的还有month()day()等;

在mysql当中,sql语句可以使用like查询,可以用”_”配任何单个字符,用”%”配任意数目字符,并且SQL模式默认是忽略大小写,例如:select * from pet where name like ‘%fy’;
当然也可以用正则表达式模式进行配。

同时在sql当中,也要注意分组函数、排序函数、统计函数等相关用法,在这里只列举一二;
Select species,count(*) from pet group by speceis;
Select * from pet order by birth desc;

查询最大值的相关操作:

Select max(age) from pet;

取前多少项记录,这个主要用于分页查询操作当中,
Select * from pet order by birth desc limit 3;取前三条记录,
Select * from pet order by birth desc limit 0,3;这个可以用于分页查询,limit后面的第一个参数,是起始位置,第二个参数是取记录条数;

有关创建表格自增长字段的写法:

Create table person(id int(4) not null auto_increment,name char(20) not null,primary key (id));

修改表操作:
向表中增加字段:注意,在这个地方,如果是增加多个字段的时候,就要用括号括起来,不然会有问题,如果是单个字段的话,不用括号也没事;

Alter table test add(address varchar(50) not null default ‘xm’,email varchar(20) not null);

将表中某个字段的名字修改或者修改其对应的相关属性的时候,要用change对其进行操作;

Alter table test change email email varchar(20) not null default ‘zz’;//不修改字段名

Alter table test change email Email varchar(30) not null;//修改字段名称

删除表中字段:

Alter table test drop email;//删除单个字段
Alter table test drop address,drop email;//删除多列

可以用Drop来取消主键与外键等,例如:

Alter table test drop foreign key fk_symbol;

删除索引:

Drop index index_name on table_name;

例如:drop index t on test;
向表中插入记录:注意,当插入表中的记录并不是所有的字段的时候,应该要在前面列出字段名称才行,不然会报错;

Insert into test(name) values(‘ltx’);
Insert into test values(1,’ltx’);

也可以向表中同时插入多列值,如:

Insert into test(name) values(‘ltx’),(‘hhy’),(‘xf’);

删除表中记录:

Delete from test;//删除表中所有记录;
Delete from test where id=1;//删除表中特定条件下的记录;

当要从一个表或者多个表当中查询出一些字段然后把这些字段又要插入到另一个表当中的时候,可以用insert ……select语法;

Insert into testt(name) (select name from test where id=4);

从文件中读取行插入数据表中,可以用Load data infile语句;

Load data infile ‘test.txt’ into table test;

可以用Describe语法进行获取有关列的信息;

Describe test;//可以查看test表的所有信息,包括对应列字段的数据类型等;

MySql事务处理相关语法

开始一项新的事务:start transaction或者begin transaction
提交事务:commit
事务回滚:rollback
set autocommit true|false 语句可以禁用或启用默认的autocommit模式,只可用于当前连接;
例子:

Start transaction;

Update person set name=’LJB’ where id=1;

Commit | rollback;

相关文章:

最后修改时间:2021-03-25 17:17:49
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论