当前位置: 首页 > news >正文

游戏介绍网站模板下载地址杨浦科技网站建设

游戏介绍网站模板下载地址,杨浦科技网站建设,上海做网站好的公司有哪些,网站排名是怎么做MySQL数据库基础合集 目录 MySQL数据库基础合集SQL关键字DDL关键字DML关键字DQL关键字DCL关键字约束关键字 SQL基础数据类型整数类型字符类型浮点类型时间类型 数据定义语言DDL1.查看数据库2.创建库3.删除库4.切换库5.创建表6.删除表7.查看表8.查看表属性9.插入列10.修改列11.设…

MySQL数据库基础合集

目录

  • MySQL数据库基础合集
    • SQL关键字
        • DDL关键字
        • DML关键字
        • DQL关键字
        • DCL关键字
        • 约束关键字
    • SQL基础数据类型
        • 整数类型
        • 字符类型
        • 浮点类型
        • 时间类型
    • 数据定义语言DDL
        • 1.查看数据库
        • 2.创建库
        • 3.删除库
        • 4.切换库
        • 5.创建表
        • 6.删除表
        • 7.查看表
        • 8.查看表属性
        • 9.插入列
        • 10.修改列
        • 11.设置主键
        • 12.设置外键并绑定主键
        • 13.设置自增
        • 14.删除列
        • 15.重命名
        • 16.设定默认值
        • 17.添加备注
        • 18.设置是否可为空
    • 数据操纵语言DML
        • 1.查表
        • 2.插入数据
        • 3.更新数据
        • 4.删除数据
    • 数据查询语言DQL
        • 1.子查询
        • 2.联表查询
        • 3.GROUP BY
        • 4.HAVING
        • 5.分页查询
        • 6.排序查询
    • 数据控制语言DCL
        • 1.事务
        • 2.用户权限
        • 2.用户权限

SQL关键字

DDL关键字
DDL关键字含义
CREATE TABLE创建一个新的数据库表
ALTER TABLE修改现有数据库表的结构或属性
DROP TABLE删除数据库中的表
MODIFY COLUMN修改列
ADD COLUMN新增列
CREATE INDEX创建索引
DROP INDEX删除索引
CREATE VIEW创建视图
DROP VIEW删除视图
CREATE FUNCTION创建函数
ALTER FUNCTION修改已存在的函数
DROP FUNCTION删除函数
ENUM()枚举(多选多)
SET()集合(多选一)
DML关键字
DML关键字含义
SELECT从数据库中检索数据
INSERT INTO向数据库表中插入新的行或数据
UPDATE更新数据库表中的现有行或数据
DELETE FROM从数据库表中删除行或数据
DQL关键字
DQL关键字含义
SELECTSELECT 字段列表,查询检索的列或表达式,它指定了最终结果包含的列
FROMFROM 表名,指定了要查询的列表或视图,例FROM table_name
WHEREWHERE 条件列表,筛选查询结果,通常是列(字段)的条件表达式,例:WHERE id = 10
GROUP BYGROUP BY 分组字段列表,根据一个或多个列对结果进行分组,但是通常需要满足聚合条件
HAVINGHAVING 分组后的条件列表,用于在GROUP BY子句的结果上进行过滤筛选
ORDER BYORDER BY 排序字段列表,用于按照一个或多个列对结果进行排序,它可以按升序(ASC)或降序(DESC)对查询结果进行排序
LIMITLIMIT 分页参数,一般在语句的最后,用于限制查询结果的数量
DQL执行顺序FROM -> WHERE -> GROUP BY -> HAVING ->SELECT -> ORDER BY -> LIMIT
DCL关键字
DCL关键字含义
GRANT授予用户或角色特定的权限
REVOKE撤销用户或角色的权限
COMMIT提交当前事务
ROLLBACK回滚当前事务
SAVEPOINT在事务中设置保存点
SET设置会话级别的参数
约束关键字
约束关键字含义
DEFAULT默认约束:为列设置默认值
AUTO_INCREMENT自增约束:自动递增生成唯一标识符
UNIQUE唯一约束:唯一约束确保列中的值是唯一的,但允许为空值
NOT NULL非空约束:非空约束要求列中的值不能为空
CHECK检查约束:检查约束定义了对列值的条件限制
PRIMARY KEY主键约束:主键必须是唯一且非空的,每个表只能有一个主键
FOREIGN KEY外键约束:用于建立表与表之间的关联关系,确保引用的数据存在于其他表中的主键列中
ZEROFILL填充约束:以0填充,int(4) ZEROFILL 赋值1结果= 0001
UNSIGNED非负约束:只能存储非负整数类型

SQL基础数据类型

整数类型
类型含义
TINYINT占用1个字节,范围-128-127,无符号范围0-255
SMALLINT占用2个字节,范围-32768-32767,无符号范围0-65535
MEDIUMINT占用3个字节,范围-8388608-8388607,无符号范围0-16777215
INT占用4个字节,范围-2147483648-2147483647,无符号范围0-4294967295
BIGINT占用8个字节,范围-9223372036854775808-9223372036854775807,无符号范围0-18446744073709551615
字符类型
类型含义
CHAR默认长度为1,可指定长度,例如CHAR(10)为长度10
VARCHAR默认长度为1,可指定长度,例如VARCHAR(32)为长度32
TINYTEXT最多可容纳255个字符
TEXT无固定长度限制,可以容纳更大的字符数量,最多可容纳65535个字符(约64KB)
MEDIUMTEXT最多容纳16777215个字符(约16MB)
LONGTEXT最多可容纳4294967295个字符(约4GB)
ENUM用于存储预定义的枚举值之一。需要定义可选的枚举值,例如ENUM('A', 'B', 'C')
SET用于存储从一个或多个预定义选项集合中选择的值。需要定义可选的集合,例如SET('option1', 'option2', 'option3')
浮点类型
类型含义
FLOAT单精度浮点数,精度约为6-7位有效数字
DOUBLE双精度浮点数,精度约为15-16位有效数字
DECIMAL用于存储高精度的十进制数,精度由用户指定
时间类型
类型含义
DATE格式为’YYYY-MM-DD’
TIME格式为’HH:MM:SS’
DATETIME格式为’YYYY-MM-DD HH:MM:SS’
TIMESTAMP类似于DATETIME,格式为’YYYY-MM-DD HH:MM:SS’,用DEFAULT将默认值设置为CURRENT_TIMESTAMP可以默认当前时间
YEAR用于存储年份值,表示四位数的年份

数据定义语言DDL

主要分为

  • CREAT:创建
  • DROP:删除
  • ALTER:修改

登录MySQL

mysql -uroot -p
Enter password: ****
1.查看数据库
show databases;

image-20240123211131623

2.创建库
create database emp;

image-20240123211431191

3.删除库
drop database users;

image-20240123211955194

4.切换库
use emp;

image-20240123211507715

5.创建表
create table emp(id int,name varchar(32),age int);

image-20240123211809372

  • enum插入数据时只能是enum中包含的数据
  • set插入数据时必须是set数据中的一个
create table emp(id int,name varchar(32),hobby enum('read','run','listen'), gender set('male','female'));
6.删除表

注意要先use选择数据库

drop table emp;

image-20240123212137664

7.查看表
show tables;

image-20240123212607182

8.查看表属性
desc emp;

image-20240123212639207

9.插入列
alter table emp add(sex varchar(2));

image-20240123212912014

image-20240123212959931

10.修改列

必须是当前表中存在的属性

alter table emp modify column name varchar(24);

image-20240123213315673

11.设置主键

修改

alter table emp modify column id int primary key;

新建

create table emp1(id int primary key);

image-20240123213616383

12.设置外键并绑定主键

表1

create table dep (id int primary key auto_increment,name varchar(32) comment'部门名');

表2

create table emp (id int primary key auto_increment,name varchar(32) comment'员工名',dep_id int, foreign key(dep_id) references dep(id));
  • 当外键表2试图添加表1主键中不存在的数据时便会报错

image-20240126163922606

  • 当表1企图删除表2所在的行时也会报错(修改同理)

image-20240126164401992

13.设置自增
alter table emp modify column id int auto_increment;

image-20240123214011338

14.删除列
alter table emp drop column sex;

image-20240123214337573

15.重命名

RENAME

rename table emp to stu;
16.设定默认值

DEFAULT

create table emp3(id int,name varchar(32),age varchar(3) default "男");
17.添加备注

COMMENT

为表添加备注:

create table emp4(id int,name varchar(32)) COMMENT '员工表';

为字段添加备注:

create table emp4(id int COMMENT '员工编号',name varchar(32) COMMENT '员工姓名');
ALTER table emp4 modify column name varchar(32) COMMENT '员工名';
18.设置是否可为空

默认情况都是可以为空

NULL:可以为空

create table emp4(id int COMMENT '员工编号',name varchar(32) NULL COMMENT '员工姓名');

NOT NULL:不可为空

create table emp4(id int COMMENT '员工编号',name varchar(32) NOT NULL COMMENT '员工姓名');

数据操纵语言DML

  • SELECT:查表,SELECT在官方文档中隶属于DML,但是我们一般将其当做DQL操作
  • INSERT:插入数据
  • UPDATE:更新数据
  • DELETE:删除数据
1.查表

查表之前首先要选择库use database_name

查看emp表全部列

select * from emp5;

查看name字段

select name from emp5

image-20240124214136961

2.插入数据

insert into 表 (列名1,列名2,列名3...) values (值1,值2,值3...);

insert into emp5(name) value("李四");
3.更新数据
update emp5 set name="王五" where id=1;

image-20240124214736419

4.删除数据
delete from emp5 where id=4;

image-20240124215604517

删除表中所有数据

delete from emp5 ;

或者

truncate emp5;

image-20240124215803787

数据查询语言DQL

1.子查询
  • 将一个查询语句的结果当做另外一个查询语句的条件使用
+----+--------+---------------------+------+-------+
| id | name   | time                | age  | wages |
+----+--------+---------------------+------+-------+
|  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |
|  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |
|  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |
|  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |
|  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |
|  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |
|  7 | 竖八   | 2024-01-25 16:14:19 |   20 |  2200 |
+----+--------+---------------------+------+-------+
-- 查询最大工资
select max(wages) from emp5;
+------------+
| max(wages) |
+------------+
|       2200 |
+------------+
-- 将最大工资作为条件插入查询name字段的语句中
select name from emp5 where wages = (select max(wages) from emp5);
+--------+
| name   |
+--------+
| 竖八   |
+--------+
-- 多个字段同理
select name,age,wages from emp5 where wages = (select max(wages) from emp5);
+--------+------+-------+
| name   | age  | wages |
+--------+------+-------+
| 竖八   |   20 |  2200 |
+--------+------+-------+
2.联表查询
-- 查询部门表
select * from dep
+-----+--------------+
| id  | name         |
+-----+--------------+
| 200 | 技术部       |
| 201 | 人力资源     |
| 202 | 销售部       |
| 203 | 运营部       |
| 204 | 售后部       |
+-----+--------------+-- 查询员工表
select * from emp5;
+----+--------+---------------------+------+-------+--------+
| id | name   | time                | age  | wages | dep_id |
+----+--------+---------------------+------+-------+--------+
|  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |    203 |
|  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |    201 |
|  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |    202 |
|  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |    203 |
|  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |    201 |
|  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |    200 |
|  7 | 竖八   | 2024-01-25 16:14:19 |   20 |  2200 |    205 |
+----+--------+---------------------+------+-------+--------+-- 联表查询dep和emp5
select * from dep,emp5;
+-----+--------------+----+--------+---------------------+------+-------+--------+
| id  | name         | id | name   | time                | age  | wages | dep_id |
+-----+--------------+----+--------+---------------------+------+-------+--------+
| 204 | 售后部       |  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |    203 |
| 203 | 运营部       |  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |    203 |
| 202 | 销售部       |  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |    203 |
| 201 | 人力资源     |  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |    203 |
| 200 | 技术部       |  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |    203 |
| 204 | 售后部       |  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |    201 |
| 203 | 运营部       |  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |    201 |
| 202 | 销售部       |  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |    201 |
| 201 | 人力资源     |  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |    201 |
| 200 | 技术部       |  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |    201 |
| 204 | 售后部       |  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |    202 |
| 203 | 运营部       |  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |    202 |
| 202 | 销售部       |  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |    202 |
| 201 | 人力资源     |  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |    202 |
| 200 | 技术部       |  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |    202 |
| 204 | 售后部       |  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |    203 |
| 203 | 运营部       |  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |    203 |
| 202 | 销售部       |  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |    203 |
| 201 | 人力资源     |  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |    203 |
| 200 | 技术部       |  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |    203 |
| 204 | 售后部       |  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |    201 |
| 203 | 运营部       |  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |    201 |
| 202 | 销售部       |  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |    201 |
| 201 | 人力资源     |  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |    201 |
| 200 | 技术部       |  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |    201 |
| 204 | 售后部       |  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |    200 |
| 203 | 运营部       |  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |    200 |
| 202 | 销售部       |  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |    200 |
| 201 | 人力资源     |  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |    200 |
| 200 | 技术部       |  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |    200 |
| 204 | 售后部       |  7 | 竖八   | 2024-01-25 16:14:19 |   20 |  2200 |    205 |
| 203 | 运营部       |  7 | 竖八   | 2024-01-25 16:14:19 |   20 |  2200 |    205 |
| 202 | 销售部       |  7 | 竖八   | 2024-01-25 16:14:19 |   20 |  2200 |    205 |
| 201 | 人力资源     |  7 | 竖八   | 2024-01-25 16:14:19 |   20 |  2200 |    205 |
| 200 | 技术部       |  7 | 竖八   | 2024-01-25 16:14:19 |   20 |  2200 |    205 |
+-----+--------------+----+--------+---------------------+------+-------+--------+-- 添加条件限制,当员工表中的部门id = 部门表中id时,如果不存在对应的部门则不打印(比如id7的205部门)
select * from dep,emp5 where emp5.dep_id=dep.id;
+-----+--------------+----+--------+---------------------+------+-------+--------+
| id  | name         | id | name   | time                | age  | wages | dep_id |
+-----+--------------+----+--------+---------------------+------+-------+--------+
| 203 | 运营部       |  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |    203 |
| 201 | 人力资源     |  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |    201 |
| 202 | 销售部       |  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |    202 |
| 203 | 运营部       |  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |    203 |
| 201 | 人力资源     |  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |    201 |
| 200 | 技术部       |  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |    200 |
+-----+--------------+----+--------+---------------------+------+-------+--------+
  • 例:打印各个部门中最高工资的员工信息
select * from emp5 where wages in (select max(wages) from emp5 group by dep_id);

image-20240125194221662

3.GROUP BY
  • group by 作用于where之后,order by 之前
  • 不适用group by的场景:查询后显示所有数据,且没有分组需要,例如当表中基本没有重复数据时就没必要分组

将表格emp5wages(工资)分组(2000,1000,2200)

select wages from emp5 group by wages;

image-20240125191222964

  • 例:我想查询各个部门的最高工资:
select dep_id,max(wages) from emp5 group by dep_id;

image-20240125191257691

  • 配合函数作用列,如summaxavgcount
select dep_id,sum(wages) from emp5 group by dep_id;
select dep_id,max(wages) from emp5 group by dep_id;
select dep_id,avg(wages) from emp5 group by dep_id;
select dep_id,count(*) from emp5 group by dep_id;
  • group_concat可以查看到组内所有人的属性
    • 根据部门(dep_id)分组,并且显示各个部门的人员
select group_concat(name), dep_id from emp5 group by dep_id;

image-20240126090824755

  • group_concat也可以查看进行字符的拼接
    • 根据部门(dep_id)分组,并且显示各个部门的人员以及其工资
select group_concat(name,":",wages), dep_id from emp5 group by dep_id;

image-20240126090943001

4.HAVING
  • HAVING一般紧随GROUP BY之后,一般用于限定SELECT筛选的字段
  • 查询各个部门的最高工资,并且排除薪资低于2000的
select dep_id,max(wages) from emp5 group by dep_id having max(wages)>2000;

image-20240125215505179

  • 查询各个部门的最高工资,并且只要202和203部门的
select dep_id,max(wages) from emp5 group by dep_id having dep_id in (202,203);

image-20240125215533299

5.分页查询
  • limit 0,2从第0页开始,往后每页2条数据
  • limit 2,2每页两条数据从第二页开始查询
select * from emp5 limit 0,2

image-20240125211023994

image-20240125211152056

6.排序查询
  • 升序:ASC
  • 降序:DESC
  • 按照员工的工资升序排序
select * from emp5 order by wages ASC;

image-20240125214218936

  • 按照员工的部门排序,当部门相同时按照工资升序排序
select * from emp5 order by dep_id ASC, wages ASC;

image-20240125214328490

数据控制语言DCL

1.事务

事务的四大特性:原子性,一致性,隔离性,持久性

  • START TRANSACTION:开始事务
start transaction;
  • ROLLBACK:回滚
rollback

image-20240129162916933

  • COMMIT:提交事务

提交事务后意味着改部分sql语句已运行结束,不能再执行回滚操作

start transaction;
insert into emp(name) values("王五");
commit;	# 提交事务后无法再进行回滚
2.用户权限
  • CREATE USER:创建新的用户并指定权限

username为用户名,password为密码,IDENTIFIED为指定用户密码的关键字

create user username IDENTIFIED by 'password';
  • DROP USER:删除用户
DROP USER username;
  • ALTER USER:更改用户权限或属性
ALTER USER username SET PASSWORD = 'new_password';
  • GRANT:赋予用户权限

赋予user用户 SELECTINSERT等权限,table_name为权限生效的表名(修改权限之前要use库)

GRANT SELECT, INSERT ON table_name TO user;
  • REVOKE:取消用户权限

用法与grant相同

REVOKE SELECT, INSERT ON table_name FROM user;

6518652337)]

  • COMMIT:提交事务

提交事务后意味着改部分sql语句已运行结束,不能再执行回滚操作

start transaction;
insert into emp(name) values("王五");
commit;	# 提交事务后无法再进行回滚
2.用户权限
  • CREATE USER:创建新的用户并指定权限

username为用户名,password为密码,IDENTIFIED为指定用户密码的关键字

create user username IDENTIFIED by 'password';
  • DROP USER:删除用户
DROP USER username;
  • ALTER USER:更改用户权限或属性
ALTER USER username SET PASSWORD = 'new_password';
  • GRANT:赋予用户权限

赋予user用户 SELECTINSERT等权限,table_name为权限生效的表名(修改权限之前要use库)

GRANT SELECT, INSERT ON table_name TO user;
  • REVOKE:取消用户权限

用法与grant相同

REVOKE SELECT, INSERT ON table_name FROM user;
http://www.yayakq.cn/news/556865/

相关文章:

  • 百度如何验证网站便宜的网站建设
  • fullpage网站怎么做四川省成都市建设厅官网
  • dede企业网站带留言板后台查询google 网站收录
  • 成品网站怎么被百度收录做网站的做网站麻烦吗
  • 饮用水品牌营销型网站爱淘苗网站开发模式
  • 营销网络建设怎么写seo好学吗
  • 网站开发人员考核企业网站建设的缺点
  • 做外贸需要哪些网站网页设计与网站建设毕业设计
  • 天津做网站的公司有哪些中国建设门户网登录
  • 手机网站免费建设排行企业注册网上申请入口
  • 昆明网站seo技术厂家wordpress searchform.php
  • 沧州瑞智网站建设wordpress 排除置顶
  • 自己做网站网页剧中一个新手怎么去运营淘宝店铺
  • 做网站设计网站设计版式
  • 做图片推广的网站有哪些网络公司市值最新排名
  • 为什么要找对做网站的公司公司网站后缀
  • 巧克力网站模板天猫alexa的排名
  • 知乎怎么做自己网站推广产品最近七天的新闻重点
  • 企业网站模板素材腾讯云服务器10元一年
  • 泰兴网站建设吧网站怎么做认证吗
  • 旅游网站开发的国内外现状济南单位网站建设
  • 在阿里云做的网站怎么进后台网站建设改手机号
  • phpcms 网站模板wordpress 注册图片
  • 浙江大数据网站建设问答知识网页翻译在线翻译
  • 如何进入网站后台 被黑直播营销策划方案
  • 网站建设工具哪个好用wordpress如何设置注册
  • 珠海网站建设专线湛江优化网站排名
  • 如何推广网站?苏州集团网站设计定制
  • 公司网站开源wordpress手机版本
  • 购物网站建设项目策划书网站建设外包价格