做网站怎么安装数据库网站建设属于什么专业
news/
2025/9/23 12:49:35/
文章来源:
做网站怎么安装数据库,网站建设属于什么专业,中型网站,惠州网站推广一#xff1a;连接
1#xff1a;本地连接
mysql -u用户名 -p密码
2#xff1a;连接远程服务器
mysql -u用户名 -p密码 -hip地址 -P端口号 线下修改远程服务端上部署的mysql服务器
二#xff1a;创建数据库
create database 名字 utf8;
三#xff1a;显示数据库
show datab…一连接
1本地连接
mysql -u用户名 -p密码
2连接远程服务器
mysql -u用户名 -p密码 -hip地址 -P端口号 线下修改远程服务端上部署的mysql服务器
二创建数据库
create database 名字 utf8;
三显示数据库
show databases;
四使用数据库
use 数据库名
五删除数据库
drop database if exists 数据库名
六查看数据库的结构
show create database 数据库名
七从外部导入sql文件
导入备份的文本文件说白了就是把文本文件重新执行一遍。
例如从桌面导入sql.sql文件
source C:\Users\Administrator\Desktop\sql.sql 正确导入桌面的sql语句并执行里面的创库语句和显示所有库的命令。
八创建数据表
create table class(id int primary key auto_incrementcname varchar(30)des varchar(100)) charset utf8;
需要说明表的编码格式不指定会默认继承数据库的编码格式。
九查看表的结构
desc 表名 直接查看表的结构
十删除表
drop table if exists class 删除的原因是上面的建表语句中cname字段都是可以为null的这与真实情况不符。
create table class(id int primary key auto_incrementcname varchar(30) not nulldes varchar(100) null) charset utf8;
十一表中添加数据
方式一 insert into class set cname后盾人,des这是一个学习网站; 插入一组值
方式二 insert into class(cname,description) values(mysql,关系型数据库),(js,前端开发语言),(python,胶水语言); 可插入一组值也可多组值。
# 其他的插入方式 TODO
十二根据其他表结构生成相同的表结构
create table copyclass like class; 根据class的表结构创建一个copyclass的表。
十三两个相同结构的表数据互传。
insert into copyclass select * from class; 全部字段都复制过来
insert into copyclass(cname) select cname from class; 仅仅复制cname字段。
十三复制一个表的结构和数据的形式创建表。
create table testclass select * from class;
十四查询的基本方式
select * from class; 全部字段查询
select id,cname from class; 部分字段查询
select cname,id from class; 部分字段查询 说明查询显示的顺序和select 后面的字段顺序排列一致。
特殊情况假如多表联合查询每个表都有id字段都要显示怎么办。不能都显示成id吧因此可以给选择的字段进行命名显示时候按照命名显示。
select id as classs_id,cname from class;
十五条件查询 where
select * from class where id2; 显示id2的字段信息
select * from class where cnamemysql显示字段名字为mysql的字段信息。
select * from class where description like %水%显示描述中含有水这个字信息的所有字段。 where 字段 like 模糊查询条件。
select * from class where cname like p% 显示名字以p开头的所有字段。 %是like查询中的占位符表示0个或多个任意字符。
select * from class where cname not like p%显示名字不以p开头的所有字段。 not like 否定形式
select * from class where cname not like p% and id2 显示名字不以p开头且id2的字段信息and 可以连接 条件查询的条件1和条件2表示并且
十六条件查询
先准备一个表
create table stu(id int primary key auto_increment,sname char(10),class_id int default null,age smallint not null)
insert into stu(sname,class_id,age) values(刘德华,1,18),(张学友,2,20),(郭富城,1,22),(黎明,null,24),(陈奕迅,3,26);
1查询学生名字包含张或者班级为2班的学生。
select * from stu where sname like 张 or class_id 2; or 可以连接 条件查询的条件1和条件2表示或
2查询目前一共有几个班
select class_id from stu 显示结果又重复去重用 distinct
select distinct class_id from stu; 将class_id的字段进行去重。
3查看年龄在20-24的所有学生。
select * from stu where age20 and age 24; 不包含两端的值
select * from stu where age between 20 and 24 包含两端的值
4查看班级为2或班级为3的所有学生
select * from stu where class_id 2 or class_id 3;
select * from stu where class_id in (2,3);
十七条件查询处理null的技巧
1要查询没有班级号码为null的所有学生
select * from stu where class_id null; 得不到结果
select * from stu where class_id null; 得不到结果
null的比较需要使用 is 和 is not 进行判断
select * from stu where class_id is null;
select * from stu where class_id is not null;
2查询所有学生如果有班级编号显示班级编号没有显示无。
select sname,if(class_id,class_id,无) from stu;
select sname,if(class_id,class_id,无) as class_id from stu;
select sname,ifnull(class_id,无) as class_id from stu;
# TODO if函数的作用
十八排序操作
select sname,class_id from stu order by age desc; 从大到小排列
select sname,age from stu order by age asc; 从小到大排列
select sname,age,class_id from stu order by class_id desc;# 同时要对班级相同的年龄从大到小排序需要进行两次排序先排序班级在排序年龄。
select sname,age,class_id from stu order by class_id desc age desc;order by 条件1条件2条件3 优先级是条件1 条件2 条件3
找到班上最后报名的学生
select * from stu order by id desc; 从所有的里面找第一个
select * from stu order by id desc limit 1; 从所有的里面只显示第一个。 限制显示条数 limit注意limit(a,b) a---从哪里开始取 b---取几个。
select * from stu where class_id2 and age is not null order by age asc limit 1;
目的是为了查找二班中年龄最小的一个人。但是存在隐患要是班上有两个人年龄都最小那么就会漏过一个人。因此需要借助后面更加复杂的子查询语句进行限制后面会讲到。下面的语句查询出来更加准确。
select * from stu where age (select age from stu where class_id 2 and age is not null order by age asc limit 1);十九更新表结构的使用技巧假如要将上表中班级class_id为null的改为class_id2
update stu set class_id 2 where class_id is null; update ......set........需求1班中年龄小于20的给年龄增加10岁。
update stu set ageage10 where age20 and class_id1;二十删除操作
delete from stu where age 30 and class_id is null;
delete from stu order by id desc limit 2; 将id最大的两个从表中删除。二十一表的维护-修改表名
方式一alter table stu rename stus;方式二rename table stus to stu;二十二修改表的字符集和查看表的建表结构
1. 修改表的字符集
alter table stu charset gbk2. 查看表的建表信息
show create table stu; 注意desc stu 是查看表的字段信息而不是建表信息。
二十三删除表中的所有数据
truncate stu;二十四删除表
drop table if exists stu;二十五修改表的字段类型需求将cname的type从varchar(30)改为varchar(50) 不能为空
alter table class modify cname varchar(50) not null;alter 是修改表的关键字 搭配 modify rename change 等方法使用
需求将cname改为class_name char(50) 可以为空 默认是高级班
alter table class change cname class_name char(30) null default 高级班;需求给表class添加一个字段stu_numint(30) not null default 30
alter talbe class add stu_num int(30) not null default 30;需求删除class表中的stu_num字段
alter table 表明 drop 字段名二十六待完成
二十七数据类型
1.字符串类型2.字符集
字符串二进制和非二进制类型二进制存储视频和图片非二进制存储文本内容非二进制文本受字符集和校对规则影响。
字符集(Character set)是多个字符的集合字符集种类较多每个字符集包含的字符个数不同。常用的字符集有GBK、BIG5、UTF8。
UTF8字符包含文字内容更广如韩文、日文、德文兼容度更高也是推荐使用的字符集。
show character set 查看服务器支持的字符集
默认表不设置字符集继承数据库字段不设置字符集继承表。
3.校对规则数据库支持的字符集校对规则是字符集内字符比较和排序的一套规则_ci结尾的是对大小写不敏感_bin结尾的是不区分大小写。
# TODO 怎么更改字段的校对规则区分大小写。
4.常用字符串处理函数
字符串截断函数需求将http改为http:结果update class set cname concat(http:mid(cname,5)) where id 5
获取字符的区间值获取字符的长度拼接两个值为一个值 concat函数需求取一个字段的内容如果内容超过八个字符后面有.....代替5.正则表达式在mysql中的使用技巧
需求cname中第二个字母是y的数据 select * from class where cname like _y%; _表示占位符一个任意的字符y后面必须加%站位符表示0或者多个。需求描述字段中包含语言这两个字的数据需求将所有描述字段中包含语言的数据都加上后盾人这个三个字。6.数值类型
整型取值范围如果加了unsigned则最大值翻倍如tinyint unsigned的取值范围为(0~256)。
m的含义不是允许字段的长度而是显示长度在为字段设置 zerofill 时有效。
需求添加有前导零的字段浮点型7.ENUM/SET
8.
二十八时间日期
1.DBeaver
2.数据类型
3.创建字段
4.格式化
5.时间戳
6.常用函数
7.基本查询
8.时间计算
二十九摘要和排序
1.order
2.count
3.min/max
4.sum/avg
5.distinct
6.group
三十多表攻略
1.多表攻略
2.表关联
3.笛卡尔积
4.inner
5.outer join
6.self join
7.多对多
8.union
9.多表删除
三十一事务出来
1.事务处理
2.存储引擎
3.提交模式
4.程序控制
5.事务隔离
三十二锁机制
1.锁机制
2.存储引擎
3.事务处理
4.悲观锁
5.乐观锁
6.表锁机制
三十三外键约束
1.外键约束
2.创建外键
3.选项说明
4.创建动作
# group_by 一般和聚合函数一起使用
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912588.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!