本教程操作环境: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 changedmysql>/* 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: 0mysql> 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: 0mysql> 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改为8UPDATE 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,englishFROM 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 addressFROM 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 *FROMstudent3 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 值2SELECT 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 student3WHERE age = 18 || age =20 || age = 45 ;-- Java中逻辑双或||SELECT * FROM student3WHERE age = 18 OR age =20 OR age = 45 ; -- Mysql中的or这个表示 或(并集)-- 上面这个格式优化为 in(值1,值2,值3..值n) ;in集合语句SELECT *FROM student3WHERE age IN(18,20,45) ;-- Java语言中:去判断某个条件的内容为null ,mysql语言不支持这个格式 ==null-- 需求:查询学生的英语成绩为null的学生所有信息-- select * from student3 where english == null ;-- mysql中判断某个字段为null,使用的语法是 is null -- 判断某个字段不为null,使用的语法是 is not nullSELECT * 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 student3WHERE NAME LIKE "%马%" -- 查询学生姓名三个字符并且第二个字符是化的人SELECT *FROM student3WHERE NAME LIKE "_化_" ; -- 查询姓名为三个字符的学生信息SELECT *FROM student3WHERE 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 student3WHERE math > 79.5000;-- 一步走SELECT *FROM student3WHERE 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 student3ORDER BY math ASC ; -- 默认不写排序规则,就是asc 升序-- 同时条件和order by,order by在where的后面-- 需求:数学成绩大于56分的学生进行数学的降序排序SELECT NAME , mathFROM 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) "数学平均分" -- 查询每一个组的数学平均分FROMstudent3 GROUP BY sex ;-- 带条件分组查询的语法: where 条件 必须放在group by 之前,否则语法错误!-- select 字段列表包含分组字段,聚合函数.. from 表名 where 条件 group by 分组字段;-- 需求:按照性别分组,查询出他们的数学成绩的平均分,数学成绩大于70分的参与分组 SELECT sex "性别", AVG(math) "数学平局分" FROMstudent3WHERE math > 70 -- 先满足条件,然后才能分组;GROUP BY sex ;
7)筛选查询 having
-- where条件,group by,having 必须先有条件,分组,然后才筛选!-- 注意:筛选的后面可以使用聚合函数,group by的后面是不能使用聚合函数的-- 需求:按照性别分组,查询数学平局分,条件:数学成绩大于70的人参与分组, 筛选出人数大于2的这一组SELECT sex "性别", COUNT(id) "总人数", AVG(math) "数学平均分" FROM student3WHERE math > 70GROUP BY sex HAVING -- 后面可以使用聚合函数COUNT(id) > 2 ;-- 优化为SELECT sex "性别", COUNT(id) 人数, AVG(math) "数学平均分" FROM student3WHERE math > 70GROUP 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视频教程、编程视频】
以上就是javascript是sql语言吗的详细内容,更多请关注php中文网其它相关文章!