1、MySQL操作命令学习1
一、对数据库及表的基础操作
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语句执行