Heim >Web-Frontend >Front-End-Fragen und Antworten >Ist Javascript eine SQL-Sprache?
Javascript ist keine SQL-Sprache. JavaScript ist eine dynamische Skriptsprache mit mehreren Paradigmen, die auf der Prototypenprogrammierung basiert. Sie wird häufig verwendet, um Webseiten eine Vielzahl dynamischer Funktionen hinzuzufügen, um Benutzern flüssigere und schönere Browsing-Effekte zu bieten um auf Daten zuzugreifen und relationale Datenbanksysteme abzufragen, zu aktualisieren und zu verwalten.
Die Betriebsumgebung dieses Tutorials: Windows7-System, Javascript1.8.5 und MySQL8-Version, Dell G3-Computer.
Javascript ist keine SQL-Sprache. Javascript- und SQL-Sprachen sind zwei verschiedene Sprachen und haben unterschiedliche Verwendungszwecke.
Was ist Javascript?
JavaScript (kurz „JS“) ist eine leichte, interpretierte oder Just-in-Time-kompilierte Programmiersprache mit Funktionspriorität. Obwohl es als Skriptsprache für die Entwicklung von Webseiten bekannt ist, wird es auch in vielen Nicht-Browser-Umgebungen verwendet. JavaScript ist eine dynamische Skriptsprache, die auf Prototypprogrammierung basiert, mehrere Paradigmen aufweist und objektorientierte, imperative und deklarative (z. B als funktionaler Programmierstil.
JavaScript ist eine High-Level-Skriptsprache für das Internet. Sie wird häufig in der Entwicklung von Webanwendungen verwendet. Sie wird häufig verwendet, um Webseiten mit flüssigeren und schöneren Browsing-Effekten zu versehen. Normalerweise realisieren JavaScript-Skripte ihre Funktionen, indem sie sie in HTML einbetten.
Hauptfunktionen
1. Dynamischen Text in HTML-Seiten einbetten.
2. Reagieren Sie auf Browserereignisse.
3. HTML-Elemente lesen und schreiben.
4. Validieren Sie Daten, bevor sie an den Server übermittelt werden.
5. Erkennen Sie die Browserinformationen des Besuchers. Kontrollieren Sie Cookies, einschließlich der Erstellung und Änderung.
6. Serverseitige Programmierung basierend auf der Node.js-Technologie.
So verwenden Sie JavaScript
Das Typattribut des Skripts muss nicht geschrieben werden. Wenn Sie es schreiben möchten, verwenden Sie es.
type="text/javascript"
Methode 1: Interne Methode von js
<script> //单行注释 /*多行注释*/ //在js常见的函数 //向浏览器打印内容,类似于Java中的控制台输出语句 document.write("hello,JavaScript我来了!") ; //还可以在浏览器中控制台中打印内容 console.log("hello,JavaScript我来了") ; //在浏览中弹出一个提示框 //window对象是浏览器中顶级对象,可以省略不写! //window.alert("helloworld") ; //简写为: alert("helloworld") ; </script> -->
Methode 2: Externe Methode
Tatsächliche Entwicklung (Front-End-Entwickler) Für Entwicklungszwecke!) Sie müssen eine separate Datei mit dem Suffix .js im js-Ordner erstellen Schreiben Sie den js-Code und importieren Sie die js-Datei in die aktuelle HTML-Seite!Externe JS-Dateien importieren
<script src="js/01.js"></script>
Was ist SQL?
Structured Query Language (SQL), kurz SQL, ist eine spezielle Programmiersprache. Es handelt sich um eine Datenbankabfrage- und Programmiersprache, die zum Zugriff auf Daten sowie zur Abfrage, Aktualisierung und Verwaltung relationaler Datenbanksysteme verwendet wird. SQL kann funktional in drei Teile unterteilt werden: Datendefinition, Datenmanipulation und Datenkontrolle.DDL-Anweisung: Datenbankoperationsanweisung
Datenbank-DDL-Anweisung (Datenbankdefinitionsanweisung) Bibliotheksoperationen-- :普通注释 当行注释 /* 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)Datenbank-DDL-Anweisung (Datenbankdefinitionsanweisung) zum Erstellen von Tabellen, Ändern von Tabellen, Abfragen von Tabellen, Löschen von Tabellen ...
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-Daten: Datenbankoperationsanweisung: Operationstabellendatensatz
Daten abfragen-- 查询这个库中有哪些表 SHOW TABLES ; -- 创建一张新的表学生表,id,姓名,年龄,性别,住址 CREATE TABLE student( id INT , -- 学号 NAME VARCHAR(10), -- 姓名 age INT, -- 年龄 gender VARCHAR(5), -- 性别 address VARCHAR(50) -- 住址 ) ; -- 查询学生的表的结构 DESC student ;Daten einfügen
-- 给学生表中插入数据 -- 插入数据的语法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,'女','西安市') ;Daten ändern
-- 一般实际开发中修改:都是带条件修改 (推荐) -- 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 = '鄠邑区' ;Daten löschen
-- 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-Anweisung: (Datenbankabfrageanweisung)
-- 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) Wählen Sie die einfachste Abfrageanweisung aus.
-- 查询全表数据: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) Bedingte Abfrage „Where“-Schlüsselwort der DQL-Anweisung ) DQL-Sortierabfragereihenfolge nach
-- 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%' ;6) DQL-Anweisungsgruppenabfrage: Gruppieren nach
-- select 字段列表 from 表名 where 字段名称 like '%xxx%' ; -- %:代表任何多个字符或者某个字符 (使用居多):网站门户系统---"搜索商品" ,模糊搜索 -- _:代表某个单个字符 -- 需求:查询所有姓马的学生信息 SELECT * FROM student3 WHERE NAME LIKE '%马%' -- 查询学生姓名三个字符并且第二个字符是化的人 SELECT * FROM student3 WHERE NAME LIKE '_化_' ; -- 查询姓名为三个字符的学生信息 SELECT * FROM student3 WHERE NAME LIKE '___' ;7) Filterabfrage mit
针对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) ;8) Paginierungsabfragebegrenzung
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 ;[Verwandte Empfehlungen:
Javascript-Video-Tutorials
,Programmiervideos
】Das obige ist der detaillierte Inhalt vonIst Javascript eine SQL-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!