Mysql数据库基本操作_MySQL
bitsCN.com
(进入mysql/bin目录下)注意在mysql控制台操作每句后要加分号 ;
初级篇
1、 进入数据库 mysql -u 用户名 -p 密码
2、 导出数据库 mysqldump -u 用户名 -p 密码 数据库名(表名)> 路径 备份.sql
3、 导入数据库 mysql -u 用户名 -p 密码 数据库名
或者进入mysql,使用source 路径 备份 此方法可以单独导入表
4、 显示所有数据库 show databases;
5、 使用数据库 use 数据库名;
6、 显示所有表 show tables;
7、 创建数据库 create database 数据库名;
8、 创建表 create table 表名(变量名 变量类型(大小)约束条件,变量名 变量类型(变量大小)约束条件,primary key(主键) );
9、 描述表 describe 表名;
10、向表中输入数据 insert into 表名 values( );
11、select 列 from 表 order by 列 desc/asc
select count(*) from 表名 统计表中记录总数
descending 降序排列的意思
ascending 升序排列
12、删除表内容
delete from 表名
truncate table 表名
13、更新表内容
update table 表名 set=' ' where 条件
14、改变表结构
alter table 表名 add id int(10) 【列名 数据类型】 增加列
alter table 表名 drop id 【列名】 删除列
alter table 表名 modify id int(6); 修改列
15、改变表名
rename table 表名1 to 表名2
16、查看数据库、表创建信息
show create database 数据库名
show create table 表名
17、过滤表中重复的信息
select distinct 列名 from 表名
进阶篇
1、将选出内容新建表
create table 表名2(可定义列名以及类型) as select 列名,列名 from 表名2;
将选出结果插入某表
insert 表1 select 列名1,列名2,… From 表 2
2、select语句
select [all/distinct] 列名 from 表名 [where 搜索条件] [group by 组表达式] [having 条件][order by 列名][ASC|DESC]
选择指定前几条
select * from table(表名) limit m , n m为第几行开始,n为取几条
选择在指定范围内记录
select * from table(表名) where 列名 between value1 and value2
选择在指定内容的记录
select * from table(表名) where in / not in 列(value1,value2 …)
选择指定类似内容
select * from table(表名) where 列名 like / not like 'string '
通配符 |
含义 |
% |
任意多个字符 |
_ |
单个字符 |
[ ] |
指定范围内的单个字符 |
[ ^ ] |
不在指定范围内的单个字符 |
选择为空的记录
select * from table(表名) where 列名 NULL/ not NULL
选择结果统计
select 列名1 , count(列名2) from table(表名) group by 列名2 having 条件
函数名 |
功能 |
count |
求组中项数,返回整数 |
sum |
求和,返回表达式中所有值的和 |
avg |
求平均值,返回表达式中所有值的平均值 |
max |
求最大值,返回表达式中所有值的最大值 |
min |
求最小值,返回表达式中所有值的最小值 |
abs |
求绝对值,返回数值表达式的绝对值 |
ascii |
求ASCII码,返回字符型数据的ASCII码 |
rand |
产生随机数,返回一个位于0-1之间的随机数 |
| student | CREATETABLE student(
studno int(5) NOT NULL auto_increment,
studname char(10) NOT NULL,
studcourse char(50) NOT NULL,
studscore float default '0',
PRIMARY KEY ('studno')
) ENGINE=InnoDBAUTO_INCREMENT=9 DEFAULT CHARSET=gbk |
mysql> select * from student;
+--------+----------+------------+-----------+-----+
| studno | studname | studcourse | studscore | sex |
+--------+----------+------------+-----------+-----+
| 1 | 祖如辉 | 数据库原理 | 90 | 男 |
| 2 | 马斯洛 | 数据库原理 | 80 | 男 |
| 3 | 莉莉 | 数据库原理 | 94 | 女 |
| 4 | 加红基 | 数据库原理 | 99 | 男 |
| 5 | 马三立 | 数据库原理 | 69 | 男 |
| 6 | 郭冬临 | 数据库原理 | 65 | 男 |
| 7 | 想加你 | 数据库原理 | 55 | 女 |
| 8 | 华正白 | 数据库原理 | 95 | 男 |
| 9 | 黎明 | 数据库原理 | 49 | 男 |
| 10 | 徐晓娟 | 数据库原理 | 79 | 女 |
+--------+----------+------------+-----------+-----+
10 rows in set (0.00 sec)
mysql> select * from class;
+--------+------------------+-----------+
| studno | class |gradecode |
+--------+------------------+-----------+
| 1 | 计算机网络工程 | 3 |
| 2 | 计算机网络工程 | 1 |
| 3 | 计算机网络工程 | 1 |
| 4 | 计算机科学与技术 | 3 |
| 5 | 计算机科学与技术 | 3 |
| 6 | 计算机科学与技术 | 1 |
| 7 | 计算机科学与技术 | 4 |
| 8 | 计算机科学与技术 | 2 |
| 9 | 计算机科学与技术 | 2 |
| 10 | 计算机软件工程 | 2 |
+--------+------------------+-----------+
10 rows in set (0.00 sec)
选出数据库原理及格的女学生信息(包含学号,姓名,课程,成绩)。
mysql> Select * from student having (select 成绩 from studscore student where sex='女' )>60;
创建表视图
create view 视图名 as select 列名 from 表名
创建索引
create unique index 索引列 on 表名(列名)
内联接也叫自然联接,它是组合两个表的常用方法。内联接将两个表中的列进行比较,将两个表中满足联接条件的行组合起来,作为结果。内联接有两种形式的语法: (注:多个表也可)
语法一:
SELECT 列名 FROM 表1 [INNER] JOIN 表2 ON 表1.列 = 表2.列
语法二:
SELECT 列名FROM 表1,表2 WHERE 表1.列 =表2.列
在内联接中,只有在两个表中匹配的行才能在结果集中出现。而在外联接中可以只限制一个表,而对另外一个表不加限制(即不加限制的表的所有行都出现在结果集中)。
外联接只能连接两个表
外联接分为左外联接、右外联接。
语法如下:SELECT 列名 FROM 表1
联接操作不仅可以在不同的表上进行,而且可以在同一张表内进行自身联接,即将同一个表的不同行联接起来。自联接可以看作一张表的两个副本之间的联接。在自联接中,必须为表指定两个别名,使之在逻辑上成为两张表。
是一种特殊类型的内联接
l 为表名指定别名的方式:
a. 在表名后面直接给出别名:表名 别名
b. 在表名和别名之间添加AS关键字:表名 AS 别名
l MySQL的表别名中不能有特殊字符(如空格)
l 除了在内联接时必须使用表别名之外,表别名也可用在其他的SQL语句中,以简化SQL语句,提高语句的可读性。
l 交叉联接也叫非限制联接,它将两个表不加任何约束的组合起来。在数学上,就是两个表的笛卡尔积。交叉联接后得到的行数是两个被联接表的行数的乘积。
l 语法如下:SELECT 列名 FROM 表1CROSS JOIN表2
或SELECT 列名 FROM 表1 ,表2
bitsCN.com
핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











선형 복잡성에서 로그 복잡성까지 조회 시간을 줄이는 인덱스를 구축하여 MySQL 쿼리 성능을 최적화할 수 있습니다. SQL 삽입을 방지하고 쿼리 성능을 향상하려면 PREPAREDStatements를 사용하세요. 쿼리 결과를 제한하고 서버에서 처리되는 데이터의 양을 줄입니다. 적절한 조인 유형 사용, 인덱스 생성, 하위 쿼리 사용 고려 등 조인 쿼리를 최적화합니다. 쿼리를 분석하여 병목 현상을 식별하고, 캐싱을 사용하여 데이터베이스 로드를 줄이고, 오버헤드를 최소화합니다.

PHP에서 MySQL 데이터베이스를 백업하고 복원하는 작업은 다음 단계에 따라 수행할 수 있습니다. 데이터베이스 백업: mysqldump 명령을 사용하여 데이터베이스를 SQL 파일로 덤프합니다. 데이터베이스 복원: mysql 명령을 사용하여 SQL 파일에서 데이터베이스를 복원합니다.

MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까? 데이터베이스에 연결: mysqli를 사용하여 데이터베이스에 대한 연결을 설정합니다. SQL 쿼리 준비: 삽입할 열과 값을 지정하는 INSERT 문을 작성합니다. 쿼리 실행: query() 메서드를 사용하여 삽입 쿼리를 실행하면 확인 메시지가 출력됩니다.

MySQL 8.4(2024년 최신 LTS 릴리스)에 도입된 주요 변경 사항 중 하나는 "MySQL 기본 비밀번호" 플러그인이 더 이상 기본적으로 활성화되지 않는다는 것입니다. 또한 MySQL 9.0에서는 이 플러그인을 완전히 제거합니다. 이 변경 사항은 PHP 및 기타 앱에 영향을 미칩니다.

PHP에서 MySQL 저장 프로시저를 사용하려면: PDO 또는 MySQLi 확장을 사용하여 MySQL 데이터베이스에 연결합니다. 저장 프로시저를 호출하는 문을 준비합니다. 저장 프로시저를 실행합니다. 결과 집합을 처리합니다(저장 프로시저가 결과를 반환하는 경우). 데이터베이스 연결을 닫습니다.

PHP를 사용하여 MySQL 테이블을 생성하려면 다음 단계가 필요합니다. 데이터베이스에 연결합니다. 데이터베이스가 없으면 작성하십시오. 데이터베이스를 선택합니다. 테이블을 생성합니다. 쿼리를 실행합니다. 연결을 닫습니다.

MySQLi를 사용하여 PHP에서 데이터베이스 연결을 설정하는 방법: MySQLi 확장 포함(require_once) 연결 함수 생성(functionconnect_to_db) 연결 함수 호출($conn=connect_to_db()) 쿼리 실행($result=$conn->query()) 닫기 연결( $conn->close())

Apple의 최신 iOS18, iPadOS18 및 macOS Sequoia 시스템 릴리스에는 사진 애플리케이션에 중요한 기능이 추가되었습니다. 이 기능은 사용자가 다양한 이유로 손실되거나 손상된 사진과 비디오를 쉽게 복구할 수 있도록 설계되었습니다. 새로운 기능에는 사진 앱의 도구 섹션에 '복구됨'이라는 앨범이 도입되었습니다. 이 앨범은 사용자가 기기에 사진 라이브러리에 포함되지 않은 사진이나 비디오를 가지고 있을 때 자동으로 나타납니다. "복구된" 앨범의 출현은 데이터베이스 손상으로 인해 손실된 사진과 비디오, 사진 라이브러리에 올바르게 저장되지 않은 카메라 응용 프로그램 또는 사진 라이브러리를 관리하는 타사 응용 프로그램에 대한 솔루션을 제공합니다. 사용자는 몇 가지 간단한 단계만 거치면 됩니다.
