日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sql语句增删改查与子查询

發布時間:2025/3/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql语句增删改查与子查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

修改表

修改表

語法:

Alter table <舊表名> rename [ TO] <新表名>;

例子:Alter table `demo01` rename `demo02`;

添加字段

語法:

Alter Table 表名 ADD 字段名? 數據類型? [屬性];

?

例子:Alter Table `Demo02` ADD `passWord`? varchar(50) not null;

?

修改字段

語法:

Alter table 表名 change? 原字段名? 新字段名? 數據類型 [屬性];

?

%修改字段名%

Alter Table? `Demo02`? change? `name`? `username`? char(10)? NOT? NULL;

?

?

?刪除字段

刪除字段是將數據表中的某個字段從表中移除:

語法:? ALTER TABLE? 表名? DROP 字段名;

?

?

添加主外鍵

1.添加主鍵約束

語法:? ALTER TABLE 表名 ADD CONSTRAINT 主鍵名 PRIMARY KEY 表名(主鍵字段);

2.添加外鍵約束

語法: ALTER TABLE 表名 ADD CONSTRAINT 外鍵名 FOREIGN KEY (外鍵字段) REFERENCES 關?? 聯表名(關聯字段);

?

DML語句回顧

?插入數據記錄

1.插入單行數據

語法: INSERT INTO 表名 [(字段名列表)]? VALUES (值列表);

2.插入多行數據

語法:INSERT INTO 新表 (字段名列表) VALUES (值列表1), (值列表2), ......, (值列表n);

?

注意:在是INSERT語句插入記錄時,如果不包含字段名稱,VALUES后值列表中各字段的順序必須和表定義中各字段的順序相同,如果表結構變了 (如執行了添加數據操作) 則值列表也要變化,否則會出現錯誤.如果指定了插入的字段名,就會避免這個問題,因此,建議在插入數據時指定具體字段名.

?

3.將查詢結構插入到新表

語法1:????

INSERT INTO 新表(字段1,字段2,......)

SELECT 字段1,字段2,......

FROM 原表;

語法2:

CREATE TABLE 新表 (SELECT 字段1,字段2, ........FROM 原表);

?

?更新數據記錄

語法:? UPDATE 表名 SET 字段1=值1,字段2=值2,........字段n=值n [WHERE 條件];

?

?

?

?刪除數據記錄

語法: DELETE? FROM 表名? [WHERE條件];

語法: TRUNCATE TABLE 表名;

?

數據查詢

DQL語句回顧

SQL Server中數據查詢語句:

語法:??????? SELECT<字段名列表>

FROM<表名或視圖>

[WHERE <查詢條件>]

[GROUP? BY? <分組的字段名>]

[HAVING <條件>]

[ORDER BY? <排序的字段名> [ASC 或? DESC]];

?

LIMIT子句

語法:??????? SELECT<字段名列表>

FROM<表名或視圖>

[WHERE <查詢條件>]

[GROUP? BY? <分組的字段名>]

[ORDER BY? <排序的字段名> [ASC 或? DESC]]

[LIMIT? [位置偏移量, ]行數];

其中:1.位置偏移量指從結果集中第幾條數據開始顯示(第一條記錄的位置偏移量是0,第2條?? 是1,....),當省略時從第一條記錄開始顯示.

2.行數值顯示記錄的條數

常用函數

常用聚合函數:

AVG()? ? ?????????????????????

返回某字段的平均值

COUNT()

?返回某字段的行數

MAX()

返回某字段的最大值

?MIN( )

返回某字段的最小值

SUM( )

返回某字段的和

函數名

作用

?

常用的字符串函數

函數名

作用

舉例

CONCAT(str1,str2,...,strn)

連接字符串str1,str2,...,strn為一個完整字符串

SELECT CONCAT(‘My’,’S’,’QL’);

返回:MySQL

INSERT(str,pos,len,newstr)

將字符串str從pos位置開始,len個字符長的子串替換為字符串newstr

SELECT INSERT(‘這是SQL SERVER數據庫’,3,10,’MySQL’);

返回:這是MySQL數據庫

LOWER(str)

將字符串str中所有字符變為小寫

?

UPPER(str)

將字符串str中所有字符串變為大寫

SELECT UPPER(‘MySQL’);

返回: MYSQL

SUBSTRING(str,num,len)

返回字符串str的第num個位置開始長度為len的子字符串

?

?

3.時間日期函數

函數名

作用

舉例

CURDATE()

獲取當前日期

SELECT CURDATE();

CURTIME()

獲取當前時間

?

NOW()

獲取當前日期和時間

?

WEEK(date)

返回日期date為一年的第幾周

?

YEAR(date)

返回日期date的年份

?

HOUR(time)

返回時間Time的小時值

?

MINUTE(time)

返回時間Time的分鐘值

?

DATEDIFF(date1,date2)

返回日期參數date1和date2之間相隔的天數

?

ADDDATE(date,n)

計算日期參數date加上n天后的日期

?

?

?

4.數字函數

函數名

作用

舉例

CEIL(x)

返回大于或等于數值x的最小整數

SELECT CEIL(2.3)

返回:3

FLOOR(x)

返回小于或等于數值x的最大整數

?

RAND()

返回0~1間的隨機數

?

?

?子查詢

?簡單子查詢

語法:SELECT ...FROM 表1 WHERE 字段1 比較運算符(子查詢);

?

使用AS關鍵字,符合ANSI標準

?SELECT 字段列表 FROM 表名 AS 表的別名;

使用空格,簡便的方法

?SELECT 字段列表 FROM 表名 表的別名;

?

?IN和NOT IN 子查詢

?IN子查詢

使用子查詢 當返回結果有多條記錄時,則把條件的 =改為 in

IN子查詢后面可跟隨返回多條記錄的子查詢,用于檢測某字段的值是否存在于某個范圍中.

?

?NOT IN子查詢

不在IN子查詢范圍內的其他數據.

轉載于:https://www.cnblogs.com/invincibleDeng/p/7605111.html

總結

以上是生活随笔為你收集整理的sql语句增删改查与子查询的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。