数据库启动
#数据库语言
-
查询数据库
show databases;
-
选择(进入/管理)数据库
use 数据库名;(必须在进入mysql以后输入)
mysql -u用户名 -p密码 -D 数据库名 (直接进入指定数据库)
-
创建数据库
create database 数据库名;(sql语句)
利用php创建数据库:<?php $servername = "localhost"; $username = "username"; $password = "password"; // 创建连接 $conn = new mysqli($servername, $username, $password); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 创建数据库 $sql = "CREATE DATABASE myDB"; if ($conn->query($sql) === TRUE) { echo "数据库创建成功"; } else { echo "Error creating database: " . $conn->error; } $conn->close(); ?>
-
删除数据库
1.drop datdabse 数据库名
举例:
使用php语句进行更改
<?php $dbhost = 'localhost'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('连接失败: ' . mysqli_error($conn)); } echo '连接成功<br />'; $sql = 'DROP DATABASE RUNOOB'; $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('删除数据库失败: ' . mysqli_error($conn)); } echo "数据库 RUNOOB 删除成功\n"; mysqli_close($conn); ?>
2.使用mysqladmin删除(未登录的情况下在终端使用)
mysqladmin -u your_username -p drop your_database
![[Pasted image 20240523080612.png]]
可见三者的不同之处在于一个会进行确认删除(mysqladmin)而另外两个不会 -
修改数据库
ALTER DATABASE 语句
ALTER {DATABASE | SCHEMA} [_db_name_] _alter_option_ ... _alter_option_: { [DEFAULT] CHARACTER SET [=] _charset_name_ | [DEFAULT] COLLATE [=] _collation_name_ | [DEFAULT] ENCRYPTION [=] {'Y' | 'N'} | READ ONLY [=] {DEFAULT | 0 | 1} }
ALTER DATABASE
使您能够更改数据库的整体特征。这些特征存储在数据字典中。此语句需要ALTER
对数据库的特权。ALTER SCHEMA
是的同义词ALTER DATABASE
。
更多详情索引
) -
创建、删除数据表
1.创建数据表通用语法:
CREATE TABLE table_name ( column1 datatype, column2 datatype, ... );
举例:
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL, birthdate DATE, is_active BOOLEAN DEFAULT TRUE );
**AUTO_INCREMENT **关键字用于创建一个自增长的列,**PRIMARY KEY **用于定义主键。
如果你希望在创建表时指定数据引擎,字符集和排序规则等,可以使用 CHARACTER SET 和 COLLATE 子句;2.删除数据表通用语法:
DROP TABLE table_name ; -- 直接删除表,不检查是否存在
或
DROP TABLE [IF EXISTS] table_name;
- IF EXISTS 是一个可选的子句,表示如果表存在才执行删除操作,避免因为表不存在而引发错误。
- IF EXISTS 是一个可选的子句,表示如果表存在才执行删除操作,避免因为表不存在而引发错误。
-
数据的插入和查询
插入数据通用SQL语法:
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
举例:
PS:该语句不能直接用来同时添加多个!要插入多行数据,可以在 VALUES 子句中指定多组数值:
查询数据通用语句:
SELECT column1, column2, ... FROM table_name [WHERE condition] [ORDER BY column_name [ASC | DESC]] [LIMIT number];
参数说明:
-
column1
,column2
, … 是你想要选择的列的名称,如果使用*
表示选择所有列。 -
table_name
是你要从中查询数据的表的名称。 -
WHERE condition
是一个可选的子句,用于指定过滤条件,只返回符合条件的行。- 查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。
- 你可以在 WHERE 子句中指定任何条件。
- 你可以使用 AND 或者 OR 指定一个或多个条件。
- WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
- WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。
where子句可用操作符:
-
ORDER BY column_name [ASC | DESC]
是一个可选的子句,用于指定结果集的排序顺序,默认是升序(ASC)。 -
LIMIT number
是一个可选的子句,用于限制返回的行数。
-
-
UPDATE更新
作用:修改或更新 MySQL 中数据表的数据
通用语法:UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
PS:
-
你可以同时更新一个或多个字段。
-
你可以在 WHERE 子句中指定任何条件。
-
你可以在一个单独表中同时更新数据。
例子:
更新单个列:
更新多个列:
-
-
DELETE语句
作用:删除数据表中的数据
通用语句:DELETE FROM table_name WHERE condition;
TIPS:如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
例子:
![[Pasted image 20240523222151.png]]
删除所有行:DELETE FROM orders;
-
LIKE子句
解释:
- LIKE 子句是在 MySQL 中用于在 WHERE 子句中进行模糊匹配的关键字。它通常与通配符一起使用,用于搜索符合某种模式的字符串。
- LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。
- 如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。
通用语法:
SELECT column1, column2, ... FROM table_name WHERE column_name LIKE pattern;
Tips:
- 你可以在 WHERE 子句中使用LIKE子句。
- 你可以使用LIKE子句代替等号 =。
- LIKE 通常与 % 一同使用,类似于一个元字符的搜索。
- 你可以使用 AND 或者 OR 指定一个或多个条件。
- 你可以在 DELETE 或 UPDATE 命令中使用 WHERE…LIKE 子句来指定条件。
举例:
% 通配符表示零个或多个字符。_ 通配符表示一个字符。
-
UNION
解释:UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合,并去除重复的行。
强调:UNION 操作符必须由两个或多个 SELECT 语句组成,每个 SELECT 语句的列数和对应位置的数据类型必须相同。
通用格式:SELECT column1, column2, ... FROM table1 WHERE condition1 UNION SELECT column1, column2, ... FROM table2 WHERE condition2 [ORDER BY column1, column2, ...];
ORDER BY 子句是一个可选的子句,用于指定合并后的结果集的排序顺序。
暂时先更到这里