存儲數據:
首先建立數據庫
之後建立數據表
操作數據
數據有哪些操作(CURD)
C => CREATE UPDATE READ DELETE(DROP)
1 庫操作:database
① 查看數據庫: show databases like “條件”;完整命令
Show databases;
Show databases like ‘%t%’;
通配符:%可以任意長度的字符串,包括空字符串
例: showdatabases like ‘%itcast%’; 全匹配
Show databases like ‘%itcast’; 前匹配
Show databases like ‘itcast%’; 後匹配
_下劃線可以匹配任意一個字符
例:show databases like ‘_itcast’; 不包括空字符
數據庫命名規則:可以使用字母,下劃線,數字。
注意:
儘量不要使用系統保留字作爲數據庫、表、字段的名稱。
儘量使用小寫字母,原因是linux這種操作系統是大寫有區分,如果庫名比較長,不要使用駝峯法,如果userInfo 建議使用user_info。
② 查看數據庫的創建資料
Show create database數據庫名;
Show create database itcast;
③ 創建數據庫
簡單方式:
Create database 數據庫名;
Create databases itcast2;
如果沒有指定數據的字符集,則使用數據庫安裝時的默認字符集。
有四個級別的字符集:
服務器級:
數據庫級:
數據表級:
字段級:
數據庫安裝時需要指定字符集,並不是數據庫只支持這一種字符集。
容錯方式:
Create database if not exists itcast2;
庫名包裹方法
就是用反引號將庫名包裹起來
Create database `match`;
當然庫名錶名字段名不是保留字最好也加上反引號。
指定字符集:
Create database itcast default charset=gbk;
Mysql中是utf8而不是utf-8;
④修改數據庫:alter
Alter database 數據庫名 選項
我們都要什麼選項:字符集和校對規則
每創建一個數據庫都會創建db.opt,下面的那行爲校對規則。
Alter database itcase charset=utf8;
⑤刪除數據庫
Dropdatabase if exists 庫名
Dropdatabase if exists itcast;
如果刪除數據庫,則數據庫所有數據及文件全部都沒有了。
2 表操作
① 創建表
Create table表名 (字段定義) 表選項
Create table student_info
(
Student_id int,
Student_name varchar(20)
)
創建表之前選擇數據庫,使用use庫名的方法指定數據庫。
也可以在創建時寫成itcast.student_info;
② 查看數據表,show
格式:show tables 查看所有的表
也支持條件查詢,模糊查詢
Show table like ‘student_info%’;
查看錶的創建信息
格式:show createtable student_info;添加\G使內容更清晰
③ 查看錶結構 desc, describe
格式:Desc 表名
格式:showcolumns from 表名
Show columns from student_info;
④ 修改表結構 alter
格式:alter 表名修改內容1, …,…
Modify 修改字符串屬性
Alter table student_info modify student_name varchar(30);
Alter table student_info modify student_name studentnamevarchar(20);
Change可以該字段名
Alter table student_info change student_name studentnamevarchar(20);
Add 可以增加字段
Alter table student_info add gender char(1) after student_name;
增加了字段同時指定了放置的順序
Drop 可以刪除字段
Alter table student_info drop gender;
⑤ 複製表
格式:createtable like 或者 select
先插入一條數據,然後複製表結構
Create table student_copy like student_info;此時沒有數據,只是複製表結構
同時複製數據呢?
Create table student_copy select * from student_info;
⑥ 交換表名的技巧,rename
本身
Rename table student_info to student_tmp, student_copyto student_info,
Student_tmp to student_copy
⑦ 刪除表
Drop table if exists student_copy2; 執行第二次不報錯。