mysql建使用者註冊登入表 登入註冊資料庫建立

2021-10-20 23:07:59 字數 3034 閱讀 1373

學習前端的時候ajax學習的時候主要練習講解的就是登入註冊問題,從最開始的源生**到後來的jquery再到後面的angularjs。講了這三種登入註冊問題。

我先講一下後台資料庫的建立,因為不管是哪一種後台都是一樣的,只有前台js的時候才有差別。

要登入和註冊,首先就要先建立資料庫,我們設計資料庫表的時候就要先考慮清楚資料庫表需要有哪些內容,我們給**命名user,使用者表首先要包括使用者表id,這一欄設為這個表的主鍵,為了提高查詢時的效率我們需要給**設定乙個主鍵。這樣就算人名有重複的時候我們根據主鍵也可以找到我們需要找到的,因為主鍵是不能重複的是唯一的。當然我們設計的這個登入註冊功能註冊時會先判斷使用者名稱是否存在,如果使用者名稱存在就不能註冊,需要重新輸入乙個使用者名稱。主鍵設計好了我們給主鍵取個名字id,在sql server中,主鍵是乙個表中的約束。這個約束,一張表只能有乙個,一般作為id使用,這個約束一般給別人外來鍵引用。這個約束的功能就是,不可重複,保證了唯一性,正是這種特性,使得大多數人都把他作為表中id的字段使用。

使用者要登入我們需要設計乙個登入名,命名name,在命名的時候大家盡量用英文單詞來命名,這樣在後期寫sql語句的時候容易看懂,能夠看到名字就知道大概是什麼了。要登入當然還有乙個不可少的就是使用者密碼了,平時大家在各種**平台還有qq等軟體使用時一般都是需要使用者名稱和密碼來登入的。

但是註冊的時候郵箱email還有性別***

具體**設計如下:

create table user(

idint( 10 ) not null auto_increment primary key,/*主鍵不為空自增長*/name varchar(20 ) not null,

pass varchar(20 ) not null,

email varchar(20 ) not null,

*** varchar(5 ) not null)charset=utf8;

我們可以看到上表中我們用了varchar而沒有用char ,下面我簡單講一下char和varchar有什麼區別,還有什麼情況下用char什麼時候用varchar。

一.資料儲存開銷

1.char(n) 是定長的,也就是當你輸入的字元小於你指定的數目時,char(8),你輸入的字元小於8時,它會再後面補空值。當你輸入的字元大於指定的數時,它會擷取超出的字元。

在程式中,會返回給你8位,後面的用空格補上;

在資料庫中,char(8),占用16個位元組(1個字元=2個位元組);

2.varchar(n) 是長度為 n 個位元組的可變長度且非 unicode 的字元資料。n必須是乙個介於1和 8000之間的數值。儲存大小為輸入資料的位元組的實際長度,而不是 n 個位元組。所輸入的資料字元長度可以為零。

二.插入資料

1.char列的null值占用儲存空間。

2. varchar列的null值不占用儲存空間。

插入同樣數量的null值,varchar列的插入效率明顯高出char列。

插入不為null的資料時,無論插入資料涉及的列是否建立索引,varchar列的插入效率也是明顯高出char列。

三.更新資料

如果更新的列上未建立索引,則char的效率低於varchar,但效率差異不大。

如果更新的列上建立索引,則char的效率低於varchar,並且效率差異很大。

四.修改結構

無論增加或刪除的列的型別是char還是varchar,操作都能較快的完成,而且效率上沒有什麼差異。

對於增加列的寬度而言,char與varchar有非常明顯的效率差異,varchar列基本上不花費時間,而修改char列需要花費很長的時間。

五.資料檢索

無論是否通過索引,varchar型別的資料檢索略優於char的掃瞄。

那實際開發中,我們使用哪種呢?

當確定字串為定長、資料變更頻繁、資料檢索需求少時,使用char;

當不確定字串長度、對資料的變更少、查詢頻繁時,使用varchar。

如下圖所示我們可以看見建好的表如下:

表建好了我們需要寫sql語句了。

首先如果我們登入的話沒有賬戶就要註冊,註冊就是往資料庫表裡面增加資料,我先簡單寫一句增加資料的例子;

假如使用者名為susan1,密碼是123456,郵箱[email protected],性別女

語句如下:

insert into user(name,pass,email,***) values ("susan1",123456,"[email protected]","女");

可以檢視一下表資料已經加進去了,如下圖所示:

我們要註冊的時候輸入了使用者名稱要先檢視使用者名稱是否存在,思路如下:

select * from user where u_name="+name+";"+name+"表示輸入的名字,先查詢表裡面的使用者名稱有沒有等於輸入名的,如果沒有的話查到的資料長度為零,就是可以用這個名字來註冊,如果長度大於零的話就是使用者名稱存在,需要重新輸入使用者名稱註冊。

當然也有的需要做出刪除使用者的功能,刪除使用者例子如下,比如我想刪除使用者名稱是張三的使用者,可以這樣寫:

delete from user where u_name="susan1";

**裡面使用者名稱是susan1的已經刪除了。

我們要求的還有把所有的使用者列印出來,如果資料庫裡面的使用者名稱有很多的話我們就還需要做使用者分頁的。使用者分頁可以有兩種方法,一種是把所有使用者查詢出來然後在前台來分頁,這樣的工作量比較大,我們用第二種,假設一頁載入五項,就是第一頁的時候先載入查詢出的資料前五項,第二頁的時候找出第6項到第十項。

sql語句如下:

select * from user limit 5;/*第一頁*/

查詢結果如下:

select * from user limit 5,5;/*第二頁*/

查詢結果如下:

需要注意的是我們查詢時從第幾項時是從0開始計的。

mysql登入,建庫,建表

cmd下 mysql u使用者名稱 p密碼 使用者名稱可以用root 密碼沒有可以不設 顯示資料庫 show databases 檢視當前使用的資料庫 select database 建立資料庫 create database 資料庫名 character set utf8 字符集 collate ...

mysql使用者登入 mysql使用者註冊與登陸案例

先在mysql中建立乙個資料庫,這裡資料庫名為py demo 建立乙個表,這裡名為py users create table py users id int unsigned auto increment not null primary key,uname varchar 20 not null,...

使用者註冊登入 和 資料寫入檔案的註冊登入

class user def init self,username,password self.username username self.password password class account def init self self.user list 目的是儲存使用者資訊 pass de...