文章目錄
- 1.數據庫操作
- 1.1 創建、刪除、查看和修改
- 1.2 編碼格式
- 1.3 備份和恢復
- 2.表的操作
- 2.1 創建表
- 2.2 存儲引擎
- 2.3 查看表、修改表、刪除表
- 3.數據類型
- 3.1整數類型
- 3.2字節類型(bit)
- 3.3浮點類型(bit)
- 3.4 decimal
- 3.5 字符串類型
- 3.6 日期和時間類型
- 3.7 enum和set
- 關于如何查找想要的數據
system clear;//清屏!
show processlist //查看連接情況,看幾個人正在使用當前數據庫
1.數據庫操作
1.1 創建、刪除、查看和修改
create database 名字; //創建數據庫
show databases; //查看數據庫列表
drop database 名字; //刪除數據庫
select database(); //確定自己當前在哪個數據庫里
alter database test2 charset=gbk collate gbk_chinese_ci;//修改編碼格式
1.2 編碼格式
show charset;//查看數據庫支持的字符集,字符集主要是控制用什么語言。比如utf8就可以使用中文。
show collation;//查看數據庫支持的字符集校驗規則
create database db2 charset=utf8; //創建一個使用utf8字符集的 db2 數據庫
create database db3 charset=utf8 collate utf8_general_ci; //創建一個使用utf字符集,并帶校對規則的 db3 數據庫。
1.3 備份和恢復
mysqldump -P3306 -u root -p 密碼 -B 數據庫名 > 數據庫備份存儲的文件路徑 //備份
備份后會在指定文件路徑下生成一個 數據庫名.sql的文件
source /home/lv/mysql/數據庫名.sql的文件 //也就是source 路徑,恢復數據庫
如果備份的不是整個數據庫,而是其中的一張表,怎么做?
如下:
mysqldump -u root -p 數據庫名 表名1 表名2 > D:/mytest.sql //不是備份整個數據庫而是備份表
mysqldump -u root -p -B 數據庫名1 數據庫名2 ... > 數據庫存放路徑 //同時備份多個數據庫
提示:
如果備份一個數據庫時,沒有帶上-B參數, 在恢復數據庫時,需要先創建空數據庫,然后使用數據庫,再使用source來還原。
2.表的操作
2.1 創建表
CREATE TABLE table_name (
field1 datatype comment '描述',
field2 datatype comment '描述',
field3 datatype comment '描述'
) character set 字符集 collate 校驗規則 engine 存儲引擎;
field 表示列名
datatype 表示列的類型
character set 字符集,如果沒有指定字符集,則以所在數據庫的字符集為準
collate 校驗規則,如果沒有指定校驗規則,則以所在數據庫的校驗規則為準
2.2 存儲引擎
不同的存儲引擎,創建表的文件不一樣。
①引擎是 MyISAM,數據目中有三個不同的文件,分別是
users.frm:表結構
users.MYD:表數據
users.MYI:表索引②引擎是 InnoDB,數據目錄中有兩個不同的文件,分別是
users.frm:表結構
users.ibd:表數據和表索引
2.3 查看表、修改表、刪除表
desc 表名;//查看表:
show create table 表名;//查看更詳細信息,如果比較亂可以在后面加上\G
show create table 表名 \G
修改舉例:
alter table 表名 rename to employee;//修改表名為employeemysql> insert into users values(1,'a','b','1982-01-04'),(2,'b','c','1984-01-04');//表插入mysql> alter table users add assets(哪一列) varchar(100)(這一列的屬性) comment '圖片路徑' after birthday(在哪一列的后面);//在表添加一個字段,用于保存圖片路徑alter table users(表名) modify name(改誰) varchar(60);//修改name,將其長度改成60alter table users(表名) drop password(刪除誰);//刪除某一列alter table employee change name xingming varchar(60);//將name列修改為xingming, 新字段需要完整定義
刪除表:
drop table 表名;
3.數據類型
3.1整數類型
3.2字節類型(bit)
bit[(M)] : 位字段類型。M表示每個值的位數,范圍從1到64。如果M被忽略,默認為1。
3.3浮點類型(bit)
flout和double!
float[(m, d)] [unsigned] : M指定顯示長度,d指定小數位數,占用空間4個字節
3.4 decimal
decimal(m, d) [unsigned] : 定點數m指定長度,d表示小數點的位數
3.5 字符串類型
char(L): 固定長度字符串,L是可以存儲的長度,單位為字符,最大長度值可以為255
varchar(L): 可變長度字符串,L表示字符長度,最大長度65535個字節
utf-8編碼一個漢字是三個字節!
varchar長度可以指定為0到65535之間的值,但是有1 - 3 個字節用于記錄數據大小,所以說有效字 節數是65532。
當我們的表的編碼是utf8時,varchar(n)的參數n最大值是65532/3=21844[因為utf中,一個字符占用3個字節],如果編碼是gbk,varchar(n)的參數n最大是65532/2=32766(因為gbk中,一個字符 占用2字節)。
3.6 日期和時間類型
3.7 enum和set
說明:不建議在添加枚舉值,集合值的時候采用數字的方式,因為不利于閱讀。
enum和set允許為空!