打開(kāi)MYSQL,如下。
成都一家集口碑和實(shí)力的網(wǎng)站建設(shè)服務(wù)商,擁有專(zhuān)業(yè)的企業(yè)建站團(tuán)隊(duì)和靠譜的建站技術(shù),十多年企業(yè)及個(gè)人網(wǎng)站建設(shè)經(jīng)驗(yàn) ,為成都上千家客戶(hù)提供網(wǎng)頁(yè)設(shè)計(jì)制作,網(wǎng)站開(kāi)發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營(yíng)銷(xiāo)型網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),同時(shí)也為不同行業(yè)的客戶(hù)提供做網(wǎng)站、成都網(wǎng)站制作的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選成都創(chuàng)新互聯(lián)公司。
首先必須在一個(gè)數(shù)據(jù)庫(kù)里面工作,所以你必須創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)。利用create database +(數(shù)據(jù)庫(kù)名稱(chēng)),來(lái)出創(chuàng)建數(shù)據(jù)庫(kù)。(紅色是輸入的代碼,綠色是電腦反饋的語(yǔ)句)
創(chuàng)建好了必須使用它,利用 use +(數(shù)據(jù)庫(kù)名稱(chēng)) 語(yǔ)句。(紅色是輸入的代碼,綠色是電腦反饋的語(yǔ)句)
你在這里可以熟悉一下顯示數(shù)據(jù)庫(kù)的語(yǔ)句,查看自己有多少個(gè)已經(jīng)創(chuàng)建的數(shù)據(jù)庫(kù)
(紅色是輸入的代碼,綠色是電腦反饋的語(yǔ)句)
接著可以創(chuàng)建表格了。利用create table +(表格名稱(chēng))。(紅色是輸入的代碼,綠色是電腦反饋的語(yǔ)句)
6
顯示如上(紅色是輸入的代碼,綠色是電腦反饋的語(yǔ)句)
如果顯示說(shuō) 'Query ok',說(shuō)明已經(jīng)創(chuàng)建好啦表格。
MySQL 提供了多種創(chuàng)建索引的方法:
1) 使用 CREATE INDEX 語(yǔ)句
可以使用專(zhuān)門(mén)用于創(chuàng)建索引的 CREATE INDEX 語(yǔ)句在一個(gè)已有的表上創(chuàng)建索引,但該語(yǔ)句不能創(chuàng)建主鍵。
語(yǔ)法格式:
CREATE 索引名 ON 表名 (列名 [長(zhǎng)度] [ ASC | DESC])
語(yǔ)法說(shuō)明如下:
索引名:指定索引名。一個(gè)表可以創(chuàng)建多個(gè)索引,但每個(gè)索引在該表中的名稱(chēng)是唯一的。
表名:指定要?jiǎng)?chuàng)建索引的表名。
列名:指定要?jiǎng)?chuàng)建索引的列名。通常可以考慮將查詢(xún)語(yǔ)句中在 JOIN 子句和 WHERE 子句里經(jīng)常出現(xiàn)的列作為索引列。
長(zhǎng)度:可選項(xiàng)。指定使用列前的 length 個(gè)字符來(lái)創(chuàng)建索引。使用列的一部分創(chuàng)建索引有利于減小索引文件的大小,節(jié)省索引列所占的空間。在某些情況下,只能對(duì)列的前綴進(jìn)行索引。索引列的長(zhǎng)度有一個(gè)最大上限 255 個(gè)字節(jié)(MyISAM 和 InnoDB 表的最大上限為 1000 個(gè)字節(jié)),如果索引列的長(zhǎng)度超過(guò)了這個(gè)上限,就只能用列的前綴進(jìn)行索引。另外,BLOB 或 TEXT 類(lèi)型的列也必須使用前綴索引。
ASC|DESC:可選項(xiàng)。ASC指定索引按照升序來(lái)排列,DESC指定索引按照降序來(lái)排列,默認(rèn)為ASC。
2) 使用 CREATE TABLE 語(yǔ)句
索引也可以在創(chuàng)建表(CREATE TABLE)的同時(shí)創(chuàng)建。在 CREATE TABLE 語(yǔ)句中添加以下語(yǔ)句。語(yǔ)法格式:
CONSTRAINT PRIMARY KEY [索引類(lèi)型] (列名,…)
在 CREATE TABLE 語(yǔ)句中添加此語(yǔ)句,表示在創(chuàng)建新表的同時(shí)創(chuàng)建該表的主鍵。
語(yǔ)法格式:
KEY | INDEX [索引名] [索引類(lèi)型] (列名,…)
在 CREATE TABLE 語(yǔ)句中添加此語(yǔ)句,表示在創(chuàng)建新表的同時(shí)創(chuàng)建該表的索引。
語(yǔ)法格式:
UNIQUE [ INDEX | KEY] [索引名] [索引類(lèi)型] (列名,…)
在 CREATE TABLE 語(yǔ)句中添加此語(yǔ)句,表示在創(chuàng)建新表的同時(shí)創(chuàng)建該表的唯一性索引。
語(yǔ)法格式:
FOREIGN KEY 索引名 列名
在 CREATE TABLE 語(yǔ)句中添加此語(yǔ)句,表示在創(chuàng)建新表的同時(shí)創(chuàng)建該表的外鍵。
在使用 CREATE TABLE 語(yǔ)句定義列選項(xiàng)的時(shí)候,可以通過(guò)直接在某個(gè)列定義后面添加 PRIMARY KEY 的方式創(chuàng)建主鍵。而當(dāng)主鍵是由多個(gè)列組成的多列索引時(shí),則不能使用這種方法,只能用在語(yǔ)句的最后加上一個(gè) PRIMARY KRY(列名,…) 子句的方式來(lái)實(shí)現(xiàn)。
1、打開(kāi)Navicat for MySQL,找到要?jiǎng)?chuàng)建數(shù)據(jù)知庫(kù)中數(shù)據(jù)表
2、接著我們?cè)凇氨怼鄙厦鎲螕羰髽?biāo)右鍵,然后點(diǎn)擊“新建表”
3、然后,右邊就會(huì)出現(xiàn)設(shè)計(jì)表的界面,這里可以設(shè)道置內(nèi)表的字段名,類(lèi)型,長(zhǎng)度以及是否為null等
4、設(shè)計(jì)完數(shù)容據(jù)表之后,點(diǎn)擊“保存”按鈕就OK了。
5、我們?cè)谄渲休斎氡砻忘c(diǎn)擊確定就可以了,表名可以根據(jù)自己的需求來(lái)設(shè)置
1、下載mysql,安裝,然后打開(kāi)cmd,cd到mysql所在的目錄,然后輸入mysqld啟動(dòng)mysql服務(wù)器
2、查看當(dāng)前所有的數(shù)據(jù)庫(kù) : show databases;
3、創(chuàng)建數(shù)據(jù)庫(kù) : create database 數(shù)據(jù)庫(kù)名稱(chēng); (這里創(chuàng)建了test_db數(shù)據(jù)庫(kù),然后用1命令查看所有數(shù)據(jù)庫(kù))
4、這里數(shù)據(jù)庫(kù)創(chuàng)建完畢了,接下來(lái)就是創(chuàng)建數(shù)據(jù)庫(kù)表,比如我們?cè)趖est_db中創(chuàng)建一個(gè)為tb_user的表,該表包含字段email ,password
5、切換當(dāng)前數(shù)據(jù)庫(kù)到test_db
命令 use test_db;
6、
dc2ed6aa12228bee31bb96dc0507652.png
7、創(chuàng)建表TB_USER ,創(chuàng)建成功后用show tab
選中某個(gè)表,然后右鍵點(diǎn)擊,選擇“設(shè)計(jì)表”即可。
也可以左鍵點(diǎn)擊某個(gè)表(即選中某表),在上面輔助菜單欄里有“打開(kāi)表”、“設(shè)計(jì)表”、“新建表”等按鈕可點(diǎn)擊,點(diǎn)擊“設(shè)計(jì)表”按鈕即可。
進(jìn)入后,會(huì)彈出新的操作窗口,新窗口的菜單欄里有常用的修改表結(jié)構(gòu)的按鈕,右鍵點(diǎn)擊某列字段也可以彈出相應(yīng)的修改表的操作按鈕。
其它摸索著看提示操作即可,還是很簡(jiǎn)單的。
修改好表后點(diǎn)擊菜單欄上的“保存”按鈕即可。
注:若要查看修改表的sql語(yǔ)句,必須在“保存”之前點(diǎn)擊“SQL預(yù)覽”按鈕。
1.建立用戶(hù)信息表
create table userinfo(id int(4) not null primary key, name varchar(20) not null unique key)engine=innodb default charset=utf8;
2.建立好友關(guān)系表
create table friend(uid int(4) not null, foreign key(uid) references
userinfo(id),fid int(4) not null, foreign key(fid) references
userinfo(id),unique key(uid,fid))engine=innodb default charset=utf8;
3.追加測(cè)試數(shù)據(jù)(滿(mǎn)足uidfid條件)
insert userinfo values(1111---9999,'namea---namei’);
insert friend values(1111,4444---6666);
insert friend values(5555,6666---9999);
4.查詢(xún)好友(5555的好友)
select * from friend where uid=5555 or fid=5555;
+-------+------+
| uid | fid |
+-------+------+
| 1111 | 5555 |
| 5555 | 6666 |
| 5555 | 7777 |
| 5555 | 8888 |
| 5555 | 9999 |
+-------+--------+
5.問(wèn)題:
5.1.userinfo中的id和name不為null,且不可重復(fù):table設(shè)計(jì)可以做到
5.2.friend中的uid和fid均不為null,且都來(lái)自于userinfo的id:table設(shè)計(jì)可以實(shí)現(xiàn)
5.3.(uid,fid)組合不可重復(fù):table設(shè)計(jì)可以完成
5.4.好友關(guān)系的表達(dá)時(shí),(1111,5555)和(5555,1111)有冗余,也會(huì)出現(xiàn)(1111,1111)這樣的數(shù)據(jù):這個(gè)在table設(shè)計(jì)實(shí)現(xiàn)比較麻煩,需要在程序?qū)用鎸?shí)現(xiàn),也即增加限制條件uidfid即可
6.結(jié)果:
table設(shè)計(jì)達(dá)不到要求,或者較難達(dá)到要求時(shí),可以在程序?qū)用嬗枰詮浹a(bǔ)。