一、對資料庫及表的基礎操作
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.uj5u.com/shujuku/556263.html
標籤:MySQL
上一篇:G1垃圾回收引數調優及MySQL虛參考造成GC時間過長分析
下一篇:返回列表