一、对数据库及表的基础操作

1、连接数据库服务器                       mysql -hlocalhost -uroot -p123456

2、2.退出服务器                               exit

3、查看所有的数据库                       show databases;

4、创建一个数据库                          create database java;

5、删除数据库                                 drop database java;

6、选中进入数据库                          use java;

7、查看数据库java中所有的表        show tables;

8、在数据库java中建person表      

  create table person(id int, name varchar(32), age int, info text);

  语法格式: create table  表名 (字段1 数据类型, 字段2 数据类型,...);

9、11.查看person表的结构               desc person;

10、删除表                                        drop table person;

11、修改表              语法格式:    alter table 表名 +操作;

  a、删除info字段          语法格式:    alter table 表名 drop 字段;  

                  alter table person drop info;  

  b、在当前表中添加字段     语法格式:  alter table 表名 add 字段 数据类型;

                  alter table person add sex boolean;

  c、修改某一个字段的数据类型  alter table 表名 modify 字段 新的数据类型;

                  alter table person modify name char(32);

  d、同时修改字段名字和字段数据类型   语法格式:  alter table 表名 change 老字段 新字段  新的数据类型;

                      alter table person change sex gender int; 

二、MySQL常用数据类型

1、tinyint(n) 用于存储小整数值,括号内的n为字段的最大长度 。

例:tinyint(2)指定字段类型为整数,长度最大为2。

2、int(n)用于存储大整数值;括号内的n为字段的最大长度,可不写,默认11位

3、decimal(M,D)用于存储小数值,M为字段最大位数,D为小数点后最大位数。

例:decimal(9,3)指定字段最多9位,小数点后最多三位。

4、char(n) 用于存储字符串的定长字符串,字段长度固定占n位

5、varchar 用于存储字符串的变长字符串,字段最多n位

注:varchar与char的区别在于varchar的长度可变,字段实际需要几位便占几位,更能节省内存。

6、text 用于存储文本数据,varchar和char做大只能存储255个字符,超过255个字符的字符串只能以文本的形式存储。

7、timestamp、时间戳,用于存储混合日期和时间值。

alter table person add regTime timestamp default current_timestamp;

时间戳类型的一个字段如果将默认值设为current_timestamp,在写入一条数据时,这条数据的这个字段的默认值为变为写入数据的时间。

三、对表中数据的增删改操作

1、插入数据

语法:insert into 表名称 values (值1, 值2,....),    必须安照表的字段顺序写入全部对应类型数据

例:  insert into person values(1, "盖伦", 12, 89272.78, 1,now());

或  insert into 表名称 (列1, 列2,...) values (值1, 值2,....)  后面的值需与前面的的保存对应,但前面的列的顺序可以随意,且不要求写出全部字段名,未出现的字段会符默认值。

例:  insert into person (id, name, age, salary) values (2, "亚索", 34, 27288.98);

可一次插入多条数据,数据之间用“,”分隔

例:  insert into person(id, name) values(4, "世齐"), (5, '永杰'),(6, "狗蛋");

2、删除数据

语法:delete from 表名称 where 列名称 = 值

例1:delete from person where id = 4;

例2:delete from person where name = "盖伦";

例3:delete from person where id in(2,3, 5);  #删除id为2、3、5的数据

例4:delete from person;  #表名后没有限制条件,删除表中所有数据。

3、修改数据

语法: update 表名称 set 列名称1 = 新值1,列2=新值2,列3=新值3.... where 列名称 = 某值

例:  update person set name="盖伦", age = 89 where id = 1;

4、事务的操作(入门)

使用事务的目的是保证数据的安全。

事务内的全部操作要么全部成功,要么全部失败。

例如:张三要转给李四100元,在数据库的具体操作分为两步

1、使张三账户减少100元;

2、使李四账户增加100元;

未使用事务时,在操作1完成后,如果有意外情况(如服务器宕机)导致转账操作不能继续进行第2步

就会出现转出了100元,李四却未收到的情况。

开启事务后,操作1完成后,操作结果不会直接提交,要等到后续操作全部成功后,所有结果一同提交,

若后续有某个操作因意外情况失败,则会对操作进行回滚,将一切回复到未开始操作的状态。

开启事务(即关闭自动提交)

set autocommit=0; #autocommit为0时自动提交关闭,为1时自动提交开启。

增删改sql  不会自动提交

会有两种状态:
  回滚: roolbakc; 增删改sql语句没有执行
  提交: commit; 增删改sql语句执行

 

 

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/y15136702274/p/17512576.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!