工商局网站年检怎么做,我的世界找建筑网站,没有备案的网站怎么挂广告,保山市住房和城上建设局网站数据库mysql基础 Web安全分享一、数据库的基本操作1、MYSQL登录与退出2、MYSQL数据库的一些解释3、MYSQL注释符有三种#xff1a; 二、数据库的一些基本操作1、数据库的增删改查(sql语句) 三、table 表的操作1、查看表结构2、查看表的内容3、建立表4、约束条件5、修改表的操作… 数据库mysql基础 Web安全分享一·、数据库的基本操作1、MYSQL登录与退出2、MYSQL数据库的一些解释3、MYSQL注释符有三种 二、数据库的一些基本操作1、数据库的增删改查(sql语句) 三、table 表的操作1、查看表结构2、查看表的内容3、建立表4、约束条件5、修改表的操作 四、数据的增删改查1、增2、删3、更新4、查1、in 查询2、and查询3、or查询4、聚合查询5、分组查询6、mysql的子查询7、联合查询 Web安全分享
1、Web安全——HTML基础 2、Web安全——DIV CSS基础 3、Web安全——JavaScript基础 4、Web安全——PHP基础 5、Web安全——JavaScript基础加入案例 6、靶场搭建——搭建pikachu靶场
一·、数据库的基本操作
1、MYSQL登录与退出
D:\phpStudy\MySQL\bin 登陆 输入 mysql -uroot -p -P3306 -h127.0.0.1 退出的三种方法
mysql exit;
mysql quit;
mysql \q;语法使用 数据库的登陆
Microsoft Windows [版本 10.0.22621.4]
(c) Microsoft Corporation。保留所有权利。C:\Users\lenovomysql -uroot -p123456 -h127.0.0.1
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.26 MySQL Community Server (GPL)Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql这里版本我们可以看到为mysql5.7.26 下面为帮助指令
mysql helpFor information about MySQL products and services, visit:http://www.mysql.com/
For developer information, including the MySQL Reference Manual, visit:http://dev.mysql.com/
To buy MySQL Enterprise support, training, or other products, visit:https://shop.mysql.com/List of all MySQL commands:
Note that all text commands must be first on line and end with ;
? (\?) Synonym for help.
clear (\c) Clear the current input statement.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
help (\h) Display this help.
notee (\t) Dont write into outfile.
print (\p) Print current command.
prompt (\R) Change your mysql prompt.
quit (\q) Quit mysql.
rehash (\#) Rebuild completion hash.
source (\.) Execute an SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings (\W) Show warnings after every statement.
nowarning (\w) Dont show warnings after every statement.
resetconnection(\x) Clean session context.For server side help, type help contentsmysql以及某一个命令在mysql下如何使用查询
mysql help use
Name: USE
Description:
Syntax:
USE db_nameThe USE db_name statement tells MySQL to use the db_name database as
the default (current) database for subsequent statements. The database
remains the default until the end of the session or another USE
statement is issued:USE db1;
SELECT COUNT(*) FROM mytable; # selects from db1.mytable
USE db2;
SELECT COUNT(*) FROM mytable; # selects from db2.mytableThe database name must be specified on a single line. Newlines in
database names are not supported.URL: http://dev.mysql.com/doc/refman/5.7/en/use.htmlmysql接下来为三种不同的退出方式
mysql exit;
ByeC:\Users\lenovomysql quit;
ByeC:\Users\lenovomysql \q;
ByeC:\Users\lenovo2、MYSQL数据库的一些解释
注意 数据库就相当于文件夹表就相当于文件 我们可以看见这里面即为我们创建并使用的数据库同时打开之后都为很多的表单。
3、MYSQL注释符有三种
1、#...
2、-- ...
3、/*...*/二、数据库的一些基本操作
1、数据库的增删改查(sql语句)
这里db*为数据库名称可随意
增 create database db1;删 drop database db1;改 alter database db1 charset utf8查 show databases;#查看所有的数据库
实际操作 创建数据库
mysql create database moondata;
Query OK, 1 row affected (0.00 sec)查看数据库
ysql show databases;
--------------------
| Database |
--------------------
| information_schema |
| moondata |
| mydata |
| mysql |
| performance_schema |
| pikachu |
| sys |
--------------------
7 rows in set (0.00 sec)mysql show create database moondata;
-----------------------------------------------------------------------------------------------------
| Database | Create Database |
-----------------------------------------------------------------------------------------------------
| moondata | CREATE DATABASE moondata /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */ |
-----------------------------------------------------------------------------------------------------
1 row in set (0.00 sec)修改数据库
mysql alter database moondata charset utf8;
Query OK, 1 row affected (0.00 sec)mysql删除数据库
mysql show databases;
--------------------
| Database |
--------------------
| information_schema |
| moondata |
| mydata |
| mysql |
| performance_schema |
| pikachu |
| sys |
--------------------
7 rows in set (0.00 sec)mysql drop database moondata;
Query OK, 0 rows affected (0.02 sec)mysql show databases;
--------------------
| Database |
--------------------
| information_schema |
| mydata |
| mysql |
| performance_schema |
| pikachu |
| sys |
--------------------
6 rows in set (0.00 sec)mysql其他命令 查看指定的数据库 show create database db1;
mysql show create database moondata;
-----------------------------------------------------------------------------------------------------
| Database | Create Database |
-----------------------------------------------------------------------------------------------------
| moondata | CREATE DATABASE moondata /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */ |
-----------------------------------------------------------------------------------------------------
1 row in set (0.00 sec)设置默认的utf8,在配置文件中写上 character_set_server utf8 use db2 select database() #查看你当前在哪个文件夹
重命名数据库 RENAME database olddbname TO newdbname
show status; 显示一些系统特定资源的信息例如正在运行的线程数量。
desc tabl_name; 显示表结构字段类型主键是否为空等属性但不显示外键。
show databases 查看这个mysql里面有多少个库
use mysql
use 选择数据库
show tables 查看当前库里面所有的表
mysql select password from user where userroot;
Mysql 5.7 select authentication_string,user from mysql.user;
查看当前数据库 里面的表user 用户为root的密码
alter database 数据库名 character set utf8;
三、table 表的操作
1、查看表结构
desc table
DESCRIBE 表名;
2、查看表的内容
select * from table_name
3、建立表
CREATE TABLE 表名 ( 属性名 数据类型 [完整约束条件], 属性名 数据类型 [完整约束条件], … … 属性名 数据类型 [完整约束条件] ); 字段名就是属性名
完整的建立表的语句
create table users(id int(7) AUTO_INCREMENT,username varchar(100) not null,password varchar(100) not null,PRIMARY KEY(id))ENGINEInnoDB DEFAULT CHARSETutf8;mysql create table users(id int(7) UNSIGNED auto_increment,username varchar(30) not null,password varchar(32) not null,email varchar(40),primary key (id))enginemyisam default charsetutf8;
Query OK, 0 rows affected (0.00 sec)if not exists表示当相同的表名存在时则不执行此创建语句避免语句执行错误
create database if not exists [table];
ENGINEInnoDB DEFAULT CHARSETutf8; ENGINE 设置表的引擎 和默认的字符类型 常见的数据库引擎 InnoDB myisam 数据类型 https://www.cnblogs.com/-xlp/p/8617760.html
4、约束条件
PRIMARY KEY 标识该属性为该表的主键可以唯一的标识对应的元组 FOREIGN KEY 标识该属性为该表的外键是与之联系某表的主键
NOT NULL 标识该属性不能为空 UNIQUE 标识该属性的值是唯一的 AUTO_INCREMENT 标识该属性的值是自动增加这是MySQL的SQL语句的特色 DEFAULT 为该属性设置默认值
5、修改表的操作
修改表 格式 ALTER TABLE 旧表名 RENAME 新表名; 修改字段的数据类型 ALTER TABLE 表名 MODIFY 属性名 数据类型; 修改字段名 ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型; 增加字段名 ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST | AFTER 属性名2]; 删除字段 ALTER TABLE 表名 DROP 属性名; 更改表的存储引擎 格式 ALTER TABLE 表名 ENGINE 存储引擎名; 四、数据的增删改查
为表中所有字段添加数据 语法 INSERT INTO 表名字段名1字段名2…VALUES值1值2… mysql insert into users (id,username,password)values(1,moon,123456);
1、增
语法 INSERT INTO 表名 VALUES(值11值2… mysql insert into users values(null,test,123456); 语法 INSERT INTO 表名字段1字段2…VALUES(值1值2… 语法 INSERT INTO 表名 SET 字段名1值1[,字段名2值2…] 举例 INSERT INTO student SET id4namezhaoliu,grade72; 同时添加多条数据 语法 INSERT INTO 表名[(字段名1字段名2…)]VALUES 值1值2…值1值2… mysql insert into users (id,username,password)values(null,moon,123456),(null,alex,123456);
INSERT INTO 表名[(字段名1字段名2…)]VALUES 值1值2…值1值2…值1值2… mysql insert into users values(null,moon1,123456),(null,alex1,123456);
2、删
DELETE FROM 表名 [WHERE 条件表达式 delete from users where id1; 删除全部数据 若 DELETE 语句中没有使用WHERE语句则会将表中所有记录都删除。 DELETE FROM 表名 删除全部数据的另一种方法——TRUNCATE
3、更新
语法 UPDATE 表名 SET 字段名1值1[ 字段名2值2…][ WHERE 条件表达式 ]
update users set passwordaaaa where id1;
update users set password123456,usernamemoon where id1
update users set password456789;4、查
select * from users; 星号代表所有的字段 查询指定的字段 select username,password from users;
按条件调节查询按关系来查询
语法 SELECT 字段名1字段名2…FROM 表名WHERE 条件表达式
1、in 查询
SELECT * FROM student2 WHERE id IN 1,2,3 带 BETWEEN AND 关键字的查询 select * from users where id not between 1 and 10; 带 DISTINCT 关键字的查询 select distinct username from users like查询 一般都会给跟着 % select * from users where username like %m% ; 下划线 _ 匹配一个字符 select* from users where username like moo_
2、and查询
满足多个条件 select * from users where id1 and usernamemoon;
3、or查询
满足任意一个条件 select * from users where id1 or usernamemoon; OR 和 AND 一起使用的情况 OR 和 AND 一起使用的时候AND 的优先级高于 OR因此二者一起使用时会先运算 AND 两边的表达式再运算 OR 两边的表达式。 mysql select * from users where id 5 and password123456c or usernamemoon1;
4、聚合查询
count 返回行数
select count(*) from users;
select count(id) from users;COUNT() 返回某列的行数 SUM() 返回某列值的和 AVG() 返回某列的平均值 MAX() 返回某列的最大值 MIN() 返回某列的最小值
5、分组查询
如果报错请在 my.ini添加 sql_modeSTRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
GROUP BYmysql SELECT * FROM users GROUP BY password;
------------------------
| id | username | password |
------------------------
| 3 | moon1 | 123456 |
| 1 | moon | 456789 |
------------------------
2 rows in set (0.01 sec)mysql SELECT * FROM users GROUP BY username;
------------------------
| id | username | password |
------------------------
| 2 | alex1 | 456789 |
| 1 | moon | 456789 |
| 3 | moon1 | 123456 |
------------------------
3 rows in set (0.01 sec)使用 LIMIT 限制查询结果的数量
select * from users limit 2,10;
select * from users as u where u.id1;为表和字段取别名 select username as myname from users;
6、mysql的子查询
where型子查询 把内层查询结果当作外层查询的比较条件
select * from users where id in (select id from users where id10);from型子查询 (把内层的查询结果供外层再次查询)
select * from (select username,age from users) as agev_a where age20
select * from (select * from users where id10) as age_10; (select * from users where id10)查询出来的是一个集合 别名为age_10 select * from age_10
exists型子查询 把外层查询结果拿到内层看内层的查询是否成立
select * from users where EXISTS (select * from users where id1)7、联合查询
两个表的查询 注释 默认地UNION 操作符选取不同的值。如果允许重复的值请使用 UNION ALL。 当 ALL 随 UNION 一起使用时即 UNION ALL不消除重复行 UNION ALL 查询全部 而且不会消除重复的行 union
SQL UNION ALL 语法 union的用法及注意事项 两次查询的列数必须一致 select * from users union select *,1 from news;
CREATE TABLE news (id int(11) NOT NULL AUTO_INCREMENT,title varchar(255) not NULL,content varchar(255) not null,PRIMARY KEY (id)
) ENGINEMyISAM AUTO_INCREMENT0 DEFAULT CHARSETutf8;
insert into news (title,content)values(a1,a1);