</head>
<body>
<!– 下载
–>
SQL:操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准,简称SQL
–>
步骤:
2.输入
–>
方法二:系统自带的命令行工具执行指令:mysql [-h 127.0.0.1] [-P 3306] -u root –p
但方法用方法二时,需要配置PATH环境变量,新增C:Program FilesMySQLMySQL Server 8.0bin
–>
<!– 数据模型
客户端 ————> DBMS ————> 数据库 ————> 表
–>
<!– 关系型数据库(RDBMS)
概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库
特点:
–>
<!– SQL语句通用语法
3.MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
4.注释:
–>
<!– SQL分类
DDL:Data Definition Language :数据定义语言,用来定义数据库对象(数据库,表,字段)
DML:Date Manipulation Language :数据操作语言,用来对数据库表中的数据进行增删改
DQL:Data Query Language :数据查询语言,用来查询数据库中表的记录
DCL:Data Control Language :数据控制语言,用来创建数据库用户,控制数据库的访问权限
–>
<!– DDL-数据库操作
查询:
1.查询所有数据库:SHOW DATABASES;
2.查询当前数据库:SELLECT DATABASE();
创建:CREATE DATABASE [IF NOT EXISTS] 数据库名 [DFFAULT CHARSET] 字符集 [COLLATE 排序规则];
[]是可选的
删除:DROP DATABASE [IF EXISTS]数据库名;
使用:USE 数据库名;
不区分大小写
–>
<!– DDL-表操作
查询
查询当前数据库所有表:SHOW TABLES;
查询表结构:DESC 表名;
SHOW CREATE TABLE 表名;
创建
)[COMMENT 表注释];
–>
<!– 数据类型
text:长文本数据
datetime:混合日期和时间值,格式:YYYY-MM-DD HH:MM:SS
timestamp:混合日期和时间值,时间戳,格式:YYYY-MM-DD HH:MM:SS
–>
要求:
6.身份证号:(二代身份证号均为18位,身份证可能有X字符)
worknum varchar(10) comment’工号’,
age tinyint unsigned comment’年龄‘,
)comment’员工表’;
–>
<!– DDL-表操作
添加字段:altertable 表名 add 字段名 类型(长度)[comment注释] [约束];
修改数据类型:altertable 表名 modify字段名 新数据类型(长度);
修改字段名和字段类型:altertable 表名 change旧字段名 新字段名 类型(长度)[comment注释][约束];
修改表名:altertable 表名 rename to新表名;
删除指定表,并重新创建该表:truncate table表名;
–>
–>
添加数据
1.给指定字段添加数据:insert into 表名(字段名1,字段名2,…) values(值1,值2,…);
2.给全部字段添加数据:insert into 表名 values(值1,值2…);
insert into 表名(字段名1,字段名2,…) values(值1,值2,…),(值1,值2,…),(值1,值2,…);
insert into 表名 values(值1,值2…),(值1,值2…),(值1,值2…);
注意:插入数据时,指定的字段顺序要与值的顺序是一一对应的,字符串和日期型数据应包含在引号中,插入数据的大小,应该在字段规定范围内
修改数据
update 表名 set 字段名1=值1,字段名2=值2,….[where 条件]
注意:修改语句的条件可以由,也可以没有,如果没有条件,则会修改整张表的所有数据
删除数据
注意:delete语句条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据
delete语句不能删除某一字段的值(可以使用update)
–>
<!– DQL-数据库查询语言,用来查询数据库中表的记录
语法:
字段列表
from
表名列表
条件列表
group by
分组字段列表
分组后条件列表
order by
排序字段列表
–>
<!– 基本查询
1.查询多个字段
select 字段1[AS 别名1],字段2[as别名2]…from 表名;(AS可以省略)
3.去除重复记录
–>
<!– 条件查询
语法:select 字段列表 from 表名 where 条件列表
例子:
select * from yg where age < 20;
select * from yg where idcard is null;
select * from yg where idcard is not null;
select * from yg where age > = 15 and age <= 20
select* from yg where age between 15 and 20
5.查询姓名为两个字的员工信息(like占位符:模糊查询_匹配单个字符,%匹配任意字符)
select * from yg where name like‘__‘
select * from yg where idcard like ‘%X’
–>
sum:求和
–>
语法:select 字段列表 from 表名 [where 条件] group by 分组字段名[having 分组后过滤条件];
where是分组之前进行过滤,不满足where条件,不参与分组
1.根据性别分组,统计男和女员工数量
select gender,count(*)from yg group by gender
2.查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址
select workadress count(*) from yg where age < 45 group by workadress having count(*) >= 3;
注意:
2.分组之后,查询的字段一般位聚合函数和分组字段,查询其他字段无任何意义
–>
<!– 排序查询
语法:select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2;
排序方式:
注意:如果多个字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。
例子:
1.根据年龄进行升序排序
select * from yg order by age asc;
select * from yg order by age asc,enterdata desc;
–>
<!–分页查询
语法:select 字段列表 from 表名 limit 起始索引,查询记录数;
注意:
1.起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数。
2.分页查询是数据库的方言,不同的数据库有不同的实现,MySQL是limit
3.如果查询的是第一页,起始索引可以省略,直接写为limit10
例子:
select * from yg limit 0,10;
select * from yg limit 20,10;
–>
from where group by having select,order by limit
–>
1.查询用户:
select * from user;
2.创建用户
create user ‘用户名‘@’主机名‘ identified by ‘密码‘;
3.修改用户密码
alter user ‘用户名‘@’主机名‘ identified with mysql_native_password by ‘新密码‘;
4.删除用户
例子:
1.创建用户 text ,只能在当前主机localhost访问,密码123456
create user ‘text‘ @ ‘localhost‘ identified by ‘123456’
2.创建用户 text1 ,可以在任意主机访问该数据库,密码123456
create user ‘text1′ @ ‘%’ identified by ‘123456’;
–>
<!–权限控制
select:查询数据
insert:插入数据
update:修改数据
delete:删除数据
alter:修改表
create:创建数据库/表
1.查询权限
2.授予权限
grant 权限列表 on 数据库名.表名 to ‘用户名‘@’主机名’;
3.撤销权限
revoke 权限列表 on 数据库名.表名 from ‘用户名‘@’主机名’;
注意:多个权限之间适应逗号进行分隔,授权时,数据库名和表名可以使用*进行通配,代表所有
–>
</body>
</html>
原文地址:https://blog.csdn.net/m0_59745705/article/details/134700580
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_34230.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!