1.添加PRIMARY KEY(主鍵索引)
創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、潢川網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、成都商城網(wǎng)站開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為潢川等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
mysqlALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
2.添加UNIQUE(唯一索引)
mysqlALTER TABLE `table_name` ADD UNIQUE (
`column`
)
3.添加INDEX(普通索引)
mysqlALTER TABLE `table_name` ADD INDEX index_name ( `column` )
4.添加FULLTEXT(全文索引)
mysqlALTER TABLE `table_name` ADD FULLTEXT ( `column`)
5.添加多列索引
mysqlALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
首先以root身份登錄到MySQL服務(wù)器中。
$
mysql
-u
root
-p
當驗證提示出現(xiàn)的時候,輸入MySQL的root帳號的密碼。
創(chuàng)建一個MySQL用戶
使用如下命令創(chuàng)建一個用戶名和密碼分別為"myuser"和"mypassword"的用戶。
mysql
CREATE
USER
'myuser'@'localhost'
IDENTIFIED
BY
'mypassword';
一旦用戶被創(chuàng)建后,包括加密的密碼、權(quán)限和資源限制在內(nèi)的所有帳號細節(jié)都會被存儲在一個名為user的表中,這個表則存在于mysql這個特殊的數(shù)據(jù)庫里。
運行下列命令,驗證帳號是否創(chuàng)建成功
mysql
SELECT
host,
user,
password
FROM
mysql.user
WHERE
user='myuser';
賦予MySQL用戶權(quán)限
一個新建的MySQL用戶沒有任何訪問權(quán)限,這就意味著你不能在MySQL數(shù)據(jù)庫中進行任何操作。你得賦予用戶必要的權(quán)限。以下是一些可用的權(quán)限:
ALL:
所有可用的權(quán)限
CREATE:
創(chuàng)建庫、表和索引
LOCK_TABLES:
鎖定表
ALTER:
修改表
DELETE:
刪除表
INSERT:
插入表或列
SELECT:
檢索表或列的數(shù)據(jù)
CREATE_VIEW:
創(chuàng)建視圖
SHOW_DATABASES:
列出數(shù)據(jù)庫
DROP:
刪除庫、表和視圖
運行以下命令賦予"myuser"用戶特定權(quán)限。
1、什么是視圖
視圖:MySQL從5.0.1版本開始提供視圖功能。一種虛擬存在的表,行和列的數(shù)據(jù)來自定義視圖的查詢中使用的表,并且是在使用視圖時動態(tài)生成的,只保存了sql邏輯,不保存查詢結(jié)果
2、視圖應(yīng)用場景
多個地方用到同樣的查詢結(jié)果該查詢結(jié)果使用的sql語句較復(fù)雜
4、視圖的好處
使用簡單安全數(shù)據(jù)獨立?
5、創(chuàng)建或者修 改視圖
創(chuàng)建視圖的語法:
修改視圖的語法
6、視圖更新性
視圖的可更新性和視圖中查詢的定義有關(guān)系,以下類型的視圖是不能更新的。(1)包含以下關(guān)鍵字的sql語句:分組函數(shù)、distinct、group ?by、having、union或者union all(2)常量視圖(3)Select中包含子查詢(4)join(5)from一個不能更新的視圖(6)where子句的子查詢引用了from子句中的表
7、刪除視圖的語法
用戶可以一次刪除一個或者多個視圖,前提是必須有該視圖的drop權(quán)限。
8、查看視圖結(jié)構(gòu)的語法
show tables;如果需要查詢某個視圖的定義,可以使用show create view命令進行查看
刪除表數(shù)據(jù)有兩種方法:delete和truncate。具體語句如下:
一、RUNCATE TABLE name? :
刪除表中的所有行,而不記錄單個行刪除操作。?在這個指令之下,表格中的資料會完全消失,可是表格本身會繼續(xù)存在。
TRUNCATE TABLE 的語法:TRUNCATE TABLE name ,參數(shù) name 是要截斷的表的名稱或要刪除其全部行的表的名稱。
二、Delete from tablename where 1=1
1、delete語法:
DELETE FROM 表名稱 WHERE 列名稱 = 值。
2、刪除所有行:
可以在不刪除表的情況下刪除所有的行。這意味著表的結(jié)構(gòu)、屬性和索引都是完整的:DELETE FROM table_name。
擴展資料:
truncate和delete的共同點及區(qū)別:
1、 truncate和 delete只刪除數(shù)據(jù)不刪除表的結(jié)構(gòu)(定義) 。
2、delete語句是dml,這個操作會放到rollback segement中,事務(wù)提交之后才生效;如果有相應(yīng)的trigger,執(zhí)行的時候?qū)⒈挥|發(fā)。
truncate是ddl, 操作立即生效,原數(shù)據(jù)不放到rollback segment中,不能回滾. 操作不觸發(fā)trigger。
3、delete語句不影響表所占用的extent, 高水線(high watermark)保持原位置不動 。truncate 語句缺省情況下見空間釋放到 minextents個 extent,除非使用reuse storage;? ?truncate會將高水線復(fù)位(回到最開始)。
4、速度,一般來說: truncate delete 。
參考資料:
百度百科--Truncate Table
百度百科--DELETE語句
關(guān)于sql
server
sql語句查詢分頁數(shù)據(jù)的解決方案:
要求選取
tbllendlist
中
第3000頁的記錄,每一頁100條記錄。-------------------------
----------
方法1:
----------
select
top
100
*
from
tbllendlist
where
fldserialno
not
in
(
select
top
300100
fldserialno
from
tbllendlist
order
by
fldserialno
)
order
by
fldserialno
----------
方法2:
----------
select
top
100
*
from
tbllendlist
where
(fldserialno
(select
max(fldserialno)
from
(select
top
300100
fldserialno
from
tbllendlist
order
by
fldserialno)
as
t))
order
by
fldserialno
方法1執(zhí)行速度比較快!
不過,這種做法還是很麻煩,強烈期待微軟發(fā)明新的可分頁的sql語句來?。。?!
sql
server
---------------------------------------------------------------------------------
從數(shù)據(jù)庫表中的第m條記錄開始取n條記錄,利用top關(guān)鍵字:注意如果select語句中既有top,又有order
by,則是從排序好的結(jié)果集中選擇:
select
*
from
(
select
top
n
*
from
(select
top
(m
+
n
-
1)
*
from
表名稱
order
by
主鍵
desc)
t1
)
t2
order
by
主鍵
asc
例如從表sys_option(主鍵為sys_id)中從10條記錄還是檢索20條記錄,語句如下:
select
*
from
(
select
top
20
*
from
(select
top
29
*
from
sys_option
order
by
sys_id
desc)
t1)
t2
order
by
sys_id
asc
oralce數(shù)據(jù)庫--------------------------------------------------------------------------------
從數(shù)據(jù)庫表中第m條記錄開始檢索n條記錄
select
*
from
(select
rownum
r,t1.*
from
表名稱
t1
where
rownum
m
+
n)
t2
where
t2.r
=
m
例如從表sys_option(主鍵為sys_id)中從10條記錄還是檢索20條記錄,語句如下:
select
*
from
(select
rownum
r,t1.*
from
sys_option
where
rownum
30
)
t2
where
t2.r
=
10
如果你對oracle數(shù)據(jù)庫分頁不是很熟悉的話,本頁后面有專門對oracle分頁技術(shù)的講解。
my
sql數(shù)據(jù)庫---------------------------------------------------------------------------------------------
my
sql數(shù)據(jù)庫最簡單,是利用mysql的limit函數(shù),limit
[offset,]
rows從數(shù)據(jù)庫表中m條記錄開始檢索n條記錄的語句為:
select
*
from
表名稱
limit
m,n
例如從表sys_option(主鍵為sys_id)中從10條記錄還是檢索20條記錄,語句如下:
select
*
from
sys_option
limit
10,20
tag:
racle
racle
server
server
server
sql
sql
看看你視圖的創(chuàng)建語句
是不是一個連接查詢建立的,還有這個視圖是不是只讀的
如果是連接查詢創(chuàng)建的視圖的話,你這么操作的話刪除的可能不止是一個表里的數(shù)據(jù),數(shù)據(jù)庫為了保證數(shù)據(jù)的完整性,不會允許你這么做。如果是只讀的話,當然也就是只有讀權(quán)限。
不過看報錯,你這應(yīng)該是第一種情況,所以,你只能從這個構(gòu)建這個視圖的表里逐步刪除數(shù)據(jù),才能把你要刪除視圖的數(shù)據(jù)刪除,這么說懂嗎?