91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript是不是sql語言

發布時間:2022-09-20 15:48:49 來源:億速云 閱讀:121 作者:iii 欄目:web開發

本篇內容主要講解“javascript是不是sql語言”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“javascript是不是sql語言”吧!

javascript不是sql語言。JavaScript是一種基于原型編程、多范式的動態腳本語言,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果;而SQL是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統。

本教程操作環境:windows7系統、javascript1.8.5&&mysql8版、Dell G3電腦。

javascript不是sql語言。javascript和sql語言是兩種不同的語言,且用處也不一樣。

什么是javascript?

JavaScript(簡稱“JS”) 是一種具有函數優先的輕量級,解釋型或即時編譯型的編程語言。雖然它是作為開發Web頁面的腳本語言而出名,但是它也被用到了很多非瀏覽器環境中,JavaScript 基于原型編程、多范式的動態腳本語言,并且支持面向對象、命令式和聲明式(如函數式編程)風格。

JavaScript是一種屬于網絡的高級腳本語言,已經被廣泛用于Web應用開發,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實現自身的功能的。

主要功能

1.嵌入動態文本于HTML頁面。

2.對瀏覽器事件做出響應。

3.讀寫HTML元素。

4.在數據被提交到服務器之前驗證數據。

5.檢測訪客的瀏覽器信息。控制cookies,包括創建和修改等。

6.基于Node.js技術進行服務器端編程。

JavaScript的使用方式

  script的type屬性可以不寫,如果要寫的話使用

type="text/javascript"

  方式1:js的內部方式

<script>
//單行注釋
/*多行注釋*/
//在js常見的函數
//向瀏覽器打印內容,類似于Java中的控制臺輸出語句
document.write("hello,JavaScript我來了!") ;
//還可以在瀏覽器中控制臺中打印內容
console.log("hello,JavaScript我來了") ;
//在瀏覽中彈出一個提示框  
//window對象是瀏覽器中頂級對象,可以省略不寫!
//window.alert("helloworld") ;
//簡寫為:
alert("helloworld") ;
</script> -->

  方式2:外部方式

  實際開發中(前端開發人員開發使用的!)

  需要在js文件夾中單獨創建一個后綴為.js的文件

  書寫js代碼,在當前html頁面中將js文件導入即可!

  導入外部js文件

<script src="js/01.js"></script>

什么是SQL?

結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統。

SQL從功能上可以分為3部分:數據定義、數據操縱和數據控制。

  • 1、SQL數據定義功能:能夠定義數據庫的三級模式結構,即外模式、全局模式和內模式結構。在SQL中,外模式又叫做視圖(View),全局模式簡稱模式(Schema),內模式由系統根據數據庫模式自動實現,一般無需用戶過問。

  • 2、SQL數據操縱功能:包括對基本表和視圖的數據插入、刪除和修改,特別是具有很強的數據查詢功能。

  • 3、SQL的數據控制功能:主要是對用戶的訪問權限加以控制,以保證系統的安全性。

DDL語句: 數據庫操作語句

數據庫的DDL語句(數據庫的定義語句)之庫的操作

-- :普通注釋 當行注釋
/* mysql的多行注釋*/
#特殊注釋
-- 查詢當前mysql中自帶的所有庫有哪些
庫在我們電腦磁盤上----> 文件夾
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |   mysql的默認配置庫
| mysql              |   有user表 (管理員用戶表) :root用戶就在這個庫中
| performance_schema |   mysql其他庫(性能相關)
| test               |   測試庫,但是不用它,自己創建新的庫
+--------------------+
4 rows in set (0.00 sec)

-- 創建庫
-- create database 庫名;
mysql> create database myEE_2203 ;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| myee_2203          |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)


-- create database if not exists 庫名;
mysql> create database if not exists  ee2203;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| ee2203             |
| myee_2203          |
| mysql              |
| performance_schema |
| test               |
+--------------------+
6 rows in set (0.00 sec)


-- 查詢創建庫的字符集
-- show create database  庫名;
mysql> show create database myee_2203;
+-----------+--------------------------------------------------------------------+
| Database  | Create Database                                                    |
+-----------+--------------------------------------------------------------------+
| myee_2203 | CREATE DATABASE `myee_2203` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+-----------+--------------------------------------------------------------------+
1 row in set (0.00 sec)

-- 修改庫的字符集
-- alter database 庫名 default character set 字符集名稱;
mysql> alter database myee_2203 default character set gbk;
Query OK, 1 row affected (0.00 sec)
mysql> show create database myee_2203;
+-----------+-------------------------------------------------------------------+
| Database  | Create Database                                                   |
+-----------+-------------------------------------------------------------------+
| myee_2203 | CREATE DATABASE `myee_2203` /*!40100 DEFAULT CHARACTER SET gbk */ |
+-----------+-------------------------------------------------------------------+
1 row in set (0.00 sec)

-- 刪除庫
-- drop database 庫名 ;
mysql> drop database ee2203;
Query OK, 0 rows affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| myee_2203          |
| mysql              |
| performance_schema |
| test               |
+--------------------+

-- drop database if exists 庫名 ; 如果存在這個庫刪除
mysql> drop database if exists myee_2203;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

數據庫DDL語句(數據庫定義語句)之建表,修改表,查詢表,刪除表…

mysql常見的數據類型
     int :整數類型 默認最大長度11位字符,給int類型的數據的時候,當前存儲的是值的真實長度
     	舉例
     			年齡字段age  int類型
     			
     int(字符數):  整數類型, 	給int(3)這個值的時候,實際存儲3位,但是賦值的時候不夠3位  (使用很少)
     				id字段 1-----int(3) -------------------001
     				
     varchar(最大支持255個長度): 	字符串類型 
     		指定varchar(指定長度)
     date:僅僅是日期類型
     datetime:日期+時間類型 
     timestap:時間戳 (舉例:管理員添加一個商品,商品上架的時間:當前系統瞬時時間 :2021-5-11 16:50分)
     double:小數類型 
     	double(幾位數,小數點后保留的位數)
     	
     	舉例:
     			double(4,2): 4位,小數點后保留2位
     clob:大字符類型  
     		支持 "大文本"
     blob:大字節類型
     		 最大支持4G
-- 建表之前,必須使用哪個庫
-- use 庫名;
mysql> use ee_2203;
Database changed
mysql>
/*
  create table 表名(
  		字段名稱1 字段類型1,
  		字段名稱2 字段類型2,
  		...
  		...
  		字段名稱n 字段類型n
  ) ;

*/
mysql> create table student(
    -> id int,
    -> name varchar(10),
    -> age int,
    -> gender varchar(2),
    -> address varchar(50),
    -> socre double(3,1)
    -> );
    Query OK, 0 rows affected (0.02 sec)
    
-- 查詢當前庫中有哪些表
-- show tables ;
mysql> show tables ;
+-------------------+
| Tables_in_ee_2203 |
+-------------------+
| student           |
+-------------------+
1 row in set (0.00 sec)

mysql>

-- 查看表的結構 
-- desc 表名;
mysql> desc student;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id      | int(11)     | YES  |     | NULL    |       |
| name    | varchar(10) | YES  |     | NULL    |       |
| age     | int(11)     | YES  |     | NULL    |       |
| gender  | varchar(2)  | YES  |     | NULL    |       |
| address | varchar(50) | YES  |     | NULL    |       |
| socre   | double(3,1) | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)

-- 修改表的字段名稱 
-- alter table 表名 change  舊字段名稱 新的字段名稱 以前的字段數據類型;

mysql> alter table student change gender sex varchar(2) ;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> desc student;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id      | int(11)     | YES  |     | NULL    |       |
| name    | varchar(10) | YES  |     | NULL    |       |
| age     | int(11)     | YES  |     | NULL    |       |
| sex     | varchar(2)  | YES  |     | NULL    |       |
| address | varchar(50) | YES  |     | NULL    |       |
| socre   | double(3,1) | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)

-- 修改表的字段類型 modify
-- alter table 表名 modify 字段名稱 新的字段類型 ;
mysql> alter table student modify address varchar(100) ;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc student;
+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| id      | int(11)      | YES  |     | NULL    |       |
| name    | varchar(10)  | YES  |     | NULL    |       |
| age     | int(11)      | YES  |     | NULL    |       |
| sex     | varchar(2)   | YES  |     | NULL    |       |
| address | varchar(100) | YES  |     | NULL    |       |
| socre   | double(3,1)  | YES  |     | NULL    |       |
+---------+--------------+------+-----+---------+-------+
6 rows in set (0.01 sec)

-- 修改表:給表中添加一個新的字段
-- alter table 表名 add 字段名稱 字段類型;
mysql> alter table student add description varchar(200) ;
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

-- 復制一張表
-- create table  新表名  like 舊表名;
mysql> create table teachear like student ;
Query OK, 0 rows affected (0.02 sec)

mysql> show tables;
+-------------------+
| Tables_in_ee_2203 |
+-------------------+
| student           |
| teachear          |
+-------------------+
2 rows in set (0.00 sec)

-- 刪除表
-- drop table 表名;
-- drop table if exists 表名;
mysql> drop table if exists teachear;
Query OK, 0 rows affected (0.01 sec)

mysql> show tables;
+-------------------+
| Tables_in_ee_2203 |
+-------------------+
| student           |
+-------------------+
1 row in set (0.00 sec)

DML數據:數據庫操作語句 :操作表的記錄

查詢數據

-- 查詢這個庫中有哪些表
SHOW TABLES ;

-- 創建一張新的表學生表,id,姓名,年齡,性別,住址
CREATE TABLE student(
    id INT ,  -- 學號
    NAME VARCHAR(10), -- 姓名
    age INT,  -- 年齡
    gender VARCHAR(5), -- 性別
    address VARCHAR(50) -- 住址
) ;

-- 查詢學生的表的結構
DESC student ;

插入數據

-- 給學生表中插入數據 
--  插入數據的語法1:insert into 表名 values(值1,值2,值3,值4...值n); 插入全部數據
INSERT INTO student VALUES(1,'高圓圓',42,'女','西安市') ;

-- 插入表的數據支持 :一次插入多條數據
-- insert into 表名 values(值1,值2,值3,值4...值n),(值1,值2,值3,值4...值n),(值1,值2,值3,值4...值n);
INSERT INTO student VALUES(2,'文章',35,'男','咸陽市'),
(3,'馬伊琍',40,'女','上海市'),(4,'馬保國',56,'男','寶雞市') ;

-- 語法2:插入部分字段,沒有插入的字段,默認值就是null, 也支持一次性插入多條數據
-- insert into 表名(字段名稱1,字段名稱2....) values(值1,值2...) ;
INSERT INTO student(id,NAME,age,gender) VALUES(5,'王寶強',35,'男') ;
INSERT INTO student(id,NAME,age,gender) VALUES(6,'張三豐',60,'男'),(7,'令狐沖',38,'男') ;

/*
注意事項:
	1)插入的這些值必須要和表中的字段對應上; 先后順序保證一致!
	2)目前沒有加入"數據庫約束",可以插入非法數據,舉例:id重復 ,
	后期需要使用數據庫約束來限定用戶的操作表的行為!
*/
-- 插入一個學生id為7的
INSERT INTO student VALUES(7,'張佳寧',32,'女','西安市') ;

修改數據

--  一般實際開發中修改:都是帶條件修改  (推薦)
-- update 表名 set 字段名稱 = 值 where 條件 ;

-- 需求:將name為張佳寧的學生id改為8
UPDATE student SET id = 8 WHERE NAME = '張佳寧' ;

-- 需求: 修改id為6的學生的姓名為 '姚笛' (id字段在實際開發中:都是非業務字段,以后唯一的)
UPDATE student SET NAME = '姚笛' WHERE id =  6 ;


-- 語法2:一次性修改多個字段
-- update 表名 set 字段名稱1 = 值 ,字段名稱2 =值2.... where 條件;

-- 需求:將id為6的學生 的年齡改為25,性別改為女,地址改為上海
UPDATE student SET age = 25,gender ='女',address='上海市' WHERE id = 6 ;


-- 語法3:不帶條件 屬于批量修改 (部分場景可以用的)
-- update 表名 set 字段名稱= 值,字段名稱2 =值2....
UPDATE student SET address = '鄠邑區' ;

刪除數據

-- delete  from 表名 where 條件 ; 帶條件刪除記錄 (使用的非業務字段id刪除)
-- 需求:刪除id為7的學生信息
DELETE FROM student WHERE id = 7 ;

-- delete from 表名 :刪除全表數據
DELETE FROM student ;


-- truncate table 表名; 刪除全表數據
TRUNCATE TABLE student;

/*
   面試題:
      delete from 表名 和 truncate table 表名 :兩個區別?
      共同點:都是可以刪除全表的記錄的;
      不同點:
		delete from 表名 ; 僅僅只是將表的全部記錄刪除了,表還在!
它針對id(非業務字段:設置主鍵并且自增長),它不影響自增長主鍵的這個值; (數據庫約束后面講)
		truncat table 表名; 將表所有數據刪除,而且還會把刪除之后,
		自動創建一個張一模一樣的表,影響自增主鍵的值!
*/

DROP TABLE student ;
SHOW TABLES ;
-- 創建一個學生表,id 加入主鍵(非空且唯一)和自增長(不斷的自增1)約束
CREATE TABLE student(
	id INT PRIMARY KEY AUTO_INCREMENT , -- id主鍵并且自增長
	NAME VARCHAR(20),-- 姓名
	age INT 
);
-- 一次插入4條
INSERT INTO student(NAME,age) VALUES('高圓圓',42),('張佳寧',32),('文章',35),('王寶強',38) ;

-- 自增長的id可以自己給個值
INSERT INTO student  VALUES(15,'高圓圓2',42);
INSERT INTO student(NAME,age) VALUES('姚笛',35) ;

DQL語句:(數據庫查詢語句)

-- DQL語句最通用的語法:查詢表的全部數據
-- -- * 代表所有字段,僅僅是自己玩的時候可以用,實際開發中不能用*,需要寫上全部的字段名稱
SELECT * FROM student ; 




CREATE TABLE student3 ( 
	 id INT, -- 編號
	 NAME VARCHAR(20), -- 姓名
	 age INT, -- 年齡 
	 sex VARCHAR(5), -- 性別 
	 address VARCHAR(100), -- 地址 
	 math INT, -- 數學
	 english INT -- 英語
  );
 INSERT INTO student3(id,NAME,age,sex,address,math,english) 
 VALUES (1,'馬云',55,'男',' 杭州',66,78),
 (2,'馬化騰',45,'女','深圳',98,87),
 (3,'馬景濤',55,'男','香港',56,77),
 (4,'柳巖 ',20,'女','湖南',76,65),
 (5,'柳青',20,'男','湖南',86,NULL),
 (6,'劉德華',57,'男','香港 ',99,99),
(7,'馬德',22,'女','香港',99,99),
(8,'德瑪西亞',18,'男','南京',56,65);

1)最基本的查詢語句 select

-- 查詢全表數據:select * from 表名;
SELECT * FROM student3 ;
-- 實際開發中查詢全部字段,把字段名稱全部寫上
SELECT 
	id,
	NAME,
	age,
	sex,
	address,
	math,
	english

FROM 
	student3;
	
-- 查詢全部字段的時候,給字段起一個別名  as '別名名稱' ,as省略
SELECT 
  id AS '編號',
  NAME AS '姓名',
  age AS '年齡',
  sex AS '性別',
  address AS '地址',
  math AS '數學成績',
  english AS '英語成績' 
FROM
  student3 ;
-- as 可以省略的

SELECT 
  id  '編號',
  NAME  '姓名',
  age  '年齡',
  sex  '性別',
  address  '地址',
  math  '數學成績',
  english  '英語成績' 
FROM
  student3 ;
 -- 當表的名稱比較長的時候,可以給表名起一個別名;
SELECT 
  s.`id` '學生編號',
  s.`name` '學生姓名',
  s.`age` '學生年齡',
  s.`sex` '學生性別',
  s.`address` '學生地址',
  s.`math` '數學成績',
  s.`english` '英語成績' 
FROM
  student3 s ;-- 起了一個別名s 
    
  -- 可以查詢部分字段
 -- 需求:查詢學生的姓名以及數學和英語成績
 SELECT 
	NAME '姓名',
	math '數學成績',
	english '英語成績'
 FROM
     student3 ;
-- 需求:查詢學生的地址信息
SELECT 

	address

FROM 
	student3;
-- 發現:字段冗余(重復度大) 字段去重      DISTINCT 后面跟上字段名稱  
SELECT  DISTINCT address FROM student3;

2)DQL語句之條件查詢 where 關鍵字

 -- 2.1)使用 賦值運算符=,比較運算符 <,<=,>=,>,!=,   mysql中的不等于 <>
 -- 2.2)Java中邏輯運算符:&&,||  mysql推薦使用 and , or
 -- 2.2)針對兩個范圍查詢: 可以使用&&,可以使用and, 也可以 "字段名稱 between 值1 and 值2"
 -- 需求:查詢年齡大于20歲的學生所有信息     
SELECT
	 *
FROM
	student3 
	
WHERE  
	age > 20 ;

-- 需求:查詢年齡在20到30之間的學生的姓名,年齡,住址 ,數學和英語成績信息

SELECT 
  NAME '姓名',
  age '年齡',
  address '住址',
  math '數學成績',
  english '英語成績' 
FROM
  student3 
WHERE age >= 20 && age <= 30 ; -- && 邏輯雙與

-- mysql中使用and 并列關系
SELECT 
  NAME '姓名',
  age '年齡',
  address '住址',
  math '數學成績',
  english '英語成績' 
FROM
  student3 
WHERE age >= 20 AND age <= 30 ; -- and 連接


-- 使用的between 值1 and 值2
SELECT
    NAME '姓名',
    age '年齡',
    address '住址',
    math '數學成績',
    english '英語成績' 
FROM
    student3 
WHERE 
	age BETWEEN 20  AND 30 ;

-- 需求:查詢年齡是20歲學生的所有信息
SELECT  * FROM student3 WHERE age = 20 ;

-- 需求:查詢年齡不是20歲的學生的所有信息
SELECT * FROM student3 WHERE age != 20 ; -- != Java中 的用法

SELECT * FROM student3 WHERE age <> 20 ;-- mysql中的不等于 <>


-- 需求:查詢年齡是18歲或者是20或者是45歲的學生的所有信息
SELECT 
	* 
FROM 
	student3
WHERE 
	age = 18 || age =20 || age = 45 ;-- Java中邏輯雙或||
	
	
SELECT 
	* 
FROM 
	student3
WHERE 
	age = 18 OR age =20 OR age = 45 ; -- Mysql中的or這個表示 或(并集)

-- 上面這個格式優化為 in(值1,值2,值3..值n) ;in集合語句	
	
SELECT  
    *
FROM
    student3
WHERE 
	age IN(18,20,45) ;
	
	
-- Java語言中:去判斷某個條件的內容為null ,mysql語言不支持這個格式 ==null
-- 需求:查詢學生的英語成績為null的學生所有信息
-- select * from student3 where english == null ;
-- mysql中判斷某個字段為null,使用的語法是 is null 
-- 判斷某個字段不為null,使用的語法是 is not null

SELECT * FROM student3 WHERE english IS NULL ;
-- 需求:查詢學生的英語成績不為null的學生的所有信息
SELECT * FROM student3 WHERE english IS NOT NULL ;	



-- 關于int類型字段求和的時候,注意: int類型的值 + null 值 = null;

-- 查詢學生的姓名以及英語和數學總分
SELECT  
    NAME '姓名',
    (math+english) '總分'
FROM
    student3 ;
-- 上面這種情況:不太友好,數學成績有值,但是結果求和是null
-- mysql提供函數 ifnull(字段名稱,值);  如果字段名稱是null,給一個默認值
SELECT  
    NAME '姓名',
    (math+IFNULL(english,0)) '總分'
FROM
    student3 ;
    
SHOW VARIABLES LIKE '%character%' ;

3)DQL語句之 where條件后面加入模糊查詢 —關鍵字 like

-- select 字段列表 from 表名 where 字段名稱 like '%xxx%' ;
-- %:代表任何多個字符或者某個字符   (使用居多):網站門戶系統---"搜索商品" ,模糊搜索
-- _:代表某個單個字符

-- 需求:查詢所有姓馬的學生信息

SELECT
    *
FROM
    student3
WHERE 
    NAME LIKE   '%馬%'
    
-- 查詢學生姓名三個字符并且第二個字符是化的人
SELECT 
    *
FROM 	
     student3
WHERE 
     NAME  LIKE '_化_' ;
     
-- 查詢姓名為三個字符的學生信息
SELECT 
    *
FROM 
	student3
WHERE 
	NAME LIKE '___' ;

4)聚合函數查詢

針對int類型:
		單行單列數據
-- select  聚合函數 from 表名 where 還可以指定條件;

-- count(字段名稱):查詢表中記錄 ,字段名稱使用都是id,非業務字段
-- avg(字段名稱): 查詢這個字段中平均值 
-- sum(字段列表):求和函數
-- max(字段名稱):最大值
-- min(字段名稱):最小值

-- 需求:查詢表的總記錄數
-- select count(english) '總記錄數' from student3; -- 前提條件使用業務字段查詢,不能有null值
-- select count(ifnull(english,0)) '總記錄數' from student3; 
SELECT COUNT(id) '總條數' FROM student3 ;
-- 查詢數學平均分 avg(字段名稱)
SELECT AVG(math) '數學平均分' FROM student3;
-- 數學和英語成績求和的學生信息(姓名,和總分)
SELECT  
	SUM(math+IFNULL(english,0)) '總分'
FROM
        student3;
-- max()和min()
SELECT MAX(math) '數學最高分' FROM student3 ;


-- select語句嵌套select語句 --- 子查詢
-- 需求:查詢出學生數學成績大于 數學平均分的學生所有信息;
-- 使用where 條件 后面帶上 比較運算符...

--  Java中
-- int x =10,y ;
-- y = y+x ; 將10代入

-- 1)查詢數學平均分是多少
SELECT AVG(math) FROM student3; -- 79.5000
-- 2)查詢大于數學平均分的學生信息
SELECT 
	*
FROM 
	student3
WHERE 
	math > 79.5000;
	
-- 一步走
SELECT 
	*
FROM 
	student3
WHERE 
	math >  (SELECT AVG(math) FROM student3) ;
	
-- 查詢數學成績最高分的學生的姓名,年齡,地址以及數學成績;
-- 1)查詢最高分是多少
SELECT  MAX(math) FROM student3; -- 99
-- 2)查詢最高分是這個成績的學生信息
SELECT 
    NAME '姓名',
    age '年齡',
    address '地址',
    math '數學成績'
FROM 
    student3 
 WHERE 
	math = 99 ;


-- 一步走
SELECT 
    NAME '姓名',
    age '年齡',
    address '地址',
    math '數學成績'
FROM 
    student3 
 WHERE 
	math = 
	(SELECT  MAX(math) FROM student3) ;

5)DQL之排序查詢 order by

 select 字段列表 from 表名 order by 字段名稱 排序規則(asc(默認值就是升序)或者desc 降序)

UPDATE student3 SET english = 88  WHERE id = 5 ;
UPDATE student3 SET english = 94 WHERE id = 6 ;

-- 需求:按照數學成績升序排序 單個字段
SELECT 
   *
FROM 
    student3
ORDER BY 
	math ASC ; -- 默認不寫排序規則,就是asc 升序

-- 同時條件和order by,order by在where的后面
-- 需求:數學成績大于56分的學生進行數學的降序排序
SELECT
   NAME ,
   math
FROM
    student3 
WHERE  math > 56    -- 先滿足條件,才能排序!where 必須order by之前
ORDER BY math DESC ;

-- 多個字段要同時排序,首先第一個字段排序規則,然后才是第二個字段
-- 需求:數學成績降序,英語成績升序排序
SELECT 
    *
 FROM 
    student3 
 ORDER BY 
	math DESC , english ASC ;

SELECT * FROM student3 ;

6)DQL語句之分組查詢:group by

-- select 字段列表 from 表名  group by 分組字段名稱;

-- 注意事項:  1)查詢的字段列表中可以使用 分組字段
     --       2)group by之后不能使用聚合函數

-- 需求:按照性別分組,查詢出他們的數學成績的平均分
SELECT  
     sex '性別', -- 查詢的分組字段
     AVG(math) '數學平均分' -- 查詢每一個組的數學平均分
FROM
	student3 
GROUP BY 
	sex ;
	
-- 帶條件分組查詢的語法:  where 條件 必須放在group by 之前,否則語法錯誤!
-- select 字段列表包含分組字段,聚合函數.. from 表名 where 條件  group by 分組字段;

-- 需求:按照性別分組,查詢出他們的數學成績的平均分,數學成績大于70分的參與分組

 SELECT
     sex '性別',
     AVG(math) '數學平局分'
 FROM

	student3

WHERE 
	math > 70    -- 先滿足條件,然后才能分組;

GROUP BY 	
	sex   ;

7)篩選查詢 having

-- where條件,group by,having  必須先有條件,分組,然后才篩選!
-- 注意:篩選的后面可以使用聚合函數,group by的后面是不能使用聚合函數的
-- 需求:按照性別分組,查詢數學平局分,條件:數學成績大于70的人參與分組, 篩選出人數大于2的這一組
SELECT 
     sex  '性別',
     COUNT(id) '總人數',
     AVG(math) '數學平均分'
     
FROM
    student3	
WHERE 
	math > 70
GROUP BY 
	sex 
HAVING      -- 后面可以使用聚合函數
	COUNT(id) > 2 ;
	
-- 優化為
SELECT 
     sex  '性別',
     COUNT(id) 人數,
     AVG(math) '數學平均分'
     
FROM
    student3	
WHERE 
	math > 70
GROUP BY 
	sex 
HAVING      -- 后面可以使用聚合函數
	人數 > 2 ;

8)分頁查詢 limit

-- select 字段列表 from 表名   limit 起始行數,每頁顯示的條數;
	
-- 起始行數:從0開始算的,    
-- 起始行數 = (當前頁碼-1)*每頁顯示的條數
-- 前提條件:每頁顯示2條, 
-- 第一頁數據
SELECT * FROM student3   LIMIT 0,2;

-- 第二頁數據
SELECT * FROM student3 LIMIT 2,2 ;

-- 第三頁數據
SELECT * FROM student3 LIMIT 4,2 ;

-- 第四頁數據
SELECT * FROM student3 LIMIT 6,2 ;

-- 第五頁數據
SELECT * FROM student3 LIMIT 8,2;

-- 第六頁數據
SELECT * FROM student3 LIMIT 10,2;

-- 第七頁數據

SELECT * FROM student3 LIMIT 12,2;

到此,相信大家對“javascript是不是sql語言”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西青区| 上犹县| 乳源| 沂水县| 景德镇市| 亚东县| 达州市| 南漳县| 武穴市| 玉田县| 邹城市| 肇东市| 渝北区| 葵青区| 柘荣县| 临泽县| 宁武县| 博爱县| 安顺市| 娱乐| 依兰县| 珠海市| 贺兰县| 孝义市| 卢氏县| 大余县| 广灵县| 长葛市| 宝清县| 马边| 仁布县| 紫金县| 仁化县| 新化县| 天等县| 锦州市| 威远县| 廊坊市| 石嘴山市| 澄城县| 沭阳县|