(3)数据库的建立和数据表的操作
mysql下的user表就是存放著登陸的信息,包括賬號(hào)和密碼
?
?
在mysql的data文件夾下建立一個(gè)數(shù)據(jù)庫(kù),并且建立新的數(shù)據(jù)表
1、use mysql? #進(jìn)入mysql文件夾
2、show databases;? # 查看data文件夾下所有的數(shù)據(jù)庫(kù),確認(rèn)自己想建立的表存不存在
3、create database db1 default charset utf8;?#建立db1數(shù)據(jù)庫(kù)
PS:default是一個(gè)固定寫法,就是定義字符類型,這樣在存儲(chǔ)中文時(shí)候不會(huì)亂碼
4、use db1 #進(jìn)入這個(gè)數(shù)據(jù)庫(kù)文件夾
5、create table? test1(
? #這里可以加注釋,就是# + 內(nèi)容
? id int unsigned auto_increment primary key,?
? name char(32) not null default '',
? age int #最后一列不能有逗號(hào),有逗號(hào)會(huì)報(bào)錯(cuò)
? ? ?) charset utf8;? #這里括號(hào)后面必須有分號(hào),這個(gè)語法格式是新建數(shù)據(jù)表的固定語法,最后也可以加個(gè)charset utf8(加不加都可)
6、insert into test1(name,age) values('你好',17);? #插入數(shù)據(jù)
語法解析()
第一行:id就是表示列名,而且對(duì)列規(guī)定只能填寫整數(shù)并且默認(rèn)取值范圍(int) \? auto_increment就是表示這一列的序號(hào)是從1到100自增的? \? primary key是表示對(duì)這一列進(jìn)行一個(gè)約束表示主鍵 \?unsingned 代表int的取值范圍采用不帶符號(hào)的
第二行:name表示列名,char 后面自定的參數(shù),32就是代表這一列最大的長(zhǎng)度只能是32個(gè)字符,超過長(zhǎng)度超出部分就舍棄? \ not null就是表示這一列不能有空值(不寫就是默認(rèn)null值) \ default 就是表示默認(rèn)值
PS:最后一列不能有逗號(hào),有逗號(hào)會(huì)報(bào)錯(cuò)
PS:這樣就生成了一張數(shù)據(jù)表test1
?
在數(shù)據(jù)表增加數(shù)據(jù)
查看數(shù)據(jù)表中的數(shù)據(jù):
select * from db1? #select就是查看的意思,*就是正則匹配所有的列,from test1就是查看test1表中的
1、use db1 #進(jìn)入需要增加數(shù)據(jù)的表
2、增加數(shù)據(jù)
4、select * from db1 #查看表內(nèi)所有的列
?
?
?
?
?************************************************************************?補(bǔ)充?*****************************************************************************************************************************
?
創(chuàng)建表的語法就是 列名? + [列類型] + [auto_increment] + [not null] + [default]? #這個(gè)就是常規(guī)的默認(rèn)寫法
列類型分為3大類:
1、整數(shù)型
int \ tinyint \ samallint \ bigint \ float \ decimal
整數(shù)型幾個(gè)類型的區(qū)別就是范圍是不一樣的
什么是不帶符號(hào),就是沒有正負(fù)號(hào)
?
float #就是存科學(xué)計(jì)算的值
PS:缺點(diǎn)是有一定的概率存儲(chǔ)的時(shí)候會(huì)數(shù)據(jù)混亂
decimal(M,D) #M代表值一共有幾位可以自定位數(shù),D代表小數(shù)點(diǎn)后面精確到幾位可以自定位數(shù)
PS:在存儲(chǔ)科學(xué)計(jì)算值得時(shí)候不會(huì)混亂
?
2、字符串型
char()? #固定數(shù)據(jù)長(zhǎng)度,超過規(guī)定長(zhǎng)度舍棄
varchar()? #表示這里存儲(chǔ)的字符串是可變的,雖然可以指定長(zhǎng)度,但是會(huì)根據(jù)實(shí)際的字符串長(zhǎng)度來動(dòng)態(tài)的變化長(zhǎng)度
PS:效率上char效率高,varchar因?yàn)橐硗忾_辟一個(gè)內(nèi)存空間來存儲(chǔ)提交字符串的大小所以效率相對(duì)低
PS:一般的使用場(chǎng)景,比如用戶注冊(cè)的時(shí)候,密碼長(zhǎng)度肯定是不固定的,在后臺(tái)肯定是被轉(zhuǎn)成MD5加密再保存的,然后MD5加密的長(zhǎng)度是固定的32個(gè),這時(shí)候選擇char效率會(huì)很高
3、時(shí)間類型
************************************************************************?補(bǔ)充 *****************************************************************************************************************************
?
轉(zhuǎn)載于:https://www.cnblogs.com/shizhengquan/p/10282936.html
總結(jié)
以上是生活随笔為你收集整理的(3)数据库的建立和数据表的操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SqlServer跨集群升级
- 下一篇: TP5 行为Behavior用法说明