0
点赞
收藏
分享

微信扫一扫

人工智能与机器学习原理精解【8】

今天你读书了吗 2024-07-29 阅读 21

1、链接数据库

mysql -u your_username -p

 

2、显示所有数据库

SHOW DATABASES;

 

3、选择数据库

USE your_database;

 

4、列出数据库中所有表

SHOW TABLES;

 

5、退出mysql

exit;

 

6、创建数据库

CREATE DATABASE 数据库名;

 

7、删除数据库

DROP DATABASE <database_name>;        -- 直接删除数据库,不检查是否存在
或
DROP DATABASE [IF EXISTS] <database_name>;

 

8、创建数据表

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
);

-- id: 用户 id,整数类型,自增长,作为主键。
-- username: 用户名,变长字符串,不允许为空。
-- email: 用户邮箱,变长字符串,不允许为空。
-- birthdate: 用户的生日,日期类型。
-- is_active: 用户是否已经激活,布尔类型,默认值为 true。

 

9、删除数据表

DROP TABLE table_name ;    -- 直接删除表,不检查是否存在
或
DROP TABLE [IF EXISTS] table_name;

10、插入数据

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

-- 参数说明:

-- table_name 是你要插入数据的表的名称。
-- column1, column2, column3, ... 是表中的列名。
-- value1, value2, value3, ... 是要插入的具体数值。

-- 如果数据是字符型,必须使用单引号 ' 或者双引号 ",如: 'value1', "value1"。
-- 一个简单的实例,插入了一行数据到名为 users 的表中:
INSERT INTO users (username, email, birthdate, is_active)
VALUES ('test', 'test@runoob.com', '1990-01-01', true);

-- username: 用户名,字符串类型。
-- email: 邮箱地址,字符串类型。
-- birthdate: 用户生日, 日期类型。
-- is_active: 是否已激活,布尔类型。

-- 如果你要插入所有列的数据,可以省略列名:
INSERT INTO users
VALUES (NULL,'test', 'test@runoob.com', '1990-01-01', true);

-- 这里,NULL 是用于自增长列的占位符,表示系统将为 id 列生成一个唯一的值。

-- 如果你要插入多行数据,可以在 VALUES 子句中指定多组数值:
INSERT INTO users (username, email, birthdate, is_active)
VALUES
    ('test1', 'test1@runoob.com', '1985-07-10', true),
    ('test2', 'test2@runoob.com', '1988-11-25', false),
    ('test3', 'test3@runoob.com', '1993-05-03', true);

-- 以上代码将在 users 表中插入三行数据。

 

11、查询数据

SELECT column1, column2, ...
FROM table_name
[WHERE condition]
[ORDER BY column_name [ASC | DESC]]
[LIMIT number];


-- 参数说明:

-- column1, column2, ... 是你想要选择的列的名称,如果使用 * 表示选择所有列。
-- table_name 是你要从中查询数据的表的名称。
-- WHERE condition 是一个可选的子句,用于指定过滤条件,只返回符合条件的行。
-- ORDER BY column_name [ASC | DESC] 是一个可选的子句,用于指定结果集的排序顺序,默认是升序-- (ASC)。
-- LIMIT number 是一个可选的子句,用于限制返回的行数。


-- 示例
-- 选择所有列的所有行
SELECT * FROM users;

-- 选择特定列的所有行
SELECT username, email FROM users;

-- 添加 WHERE 子句,选择满足条件的行
SELECT * FROM users WHERE is_active = TRUE;

-- 添加 ORDER BY 子句,按照某列的升序排序
SELECT * FROM users ORDER BY birthdate;

-- 添加 ORDER BY 子句,按照某列的降序排序
SELECT * FROM users ORDER BY birthdate DESC;

-- 添加 LIMIT 子句,限制返回的行数
SELECT * FROM users LIMIT 10;


-- SELECT 语句可以是灵活的,我们可以根据实际需求组合和使用这些子句,比如同时使用 WHERE 和 ORDER BY 子句,或者使用 LIMIT 控制返回的行数。

-- 在 WHERE 子句中,你可以使用各种条件运算符(如 =, <, >, <=, >=, !=),逻辑运算符(如 AND, OR, NOT),以及通配符(如 %)等。

-- 以下是一些进阶的 SELECT 语句实例:

-- 实例
-- 使用 AND 运算符和通配符
SELECT * FROM users WHERE username LIKE 'j%' AND is_active = TRUE;

-- 使用 OR 运算符
SELECT * FROM users WHERE is_active = TRUE OR birthdate < '1990-01-01';

-- 使用 IN 子句
SELECT * FROM users WHERE birthdate IN ('1990-01-01', '1992-03-15', '1993-05-03');

 

12、WHERE子句

SELECT column1, column2, ...
FROM table_name
WHERE condition;

-- 参数说明:

-- column1, column2, ... 是你要选择的列的名称,如果使用 * 表示选择所有列。
-- table_name 是你要从中查询数据的表的名称。
-- WHERE condition 是用于指定过滤条件的子句。

 

13、UPDATE 更新

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;


-- 参数说明:

-- table_name 是你要更新数据的表的名称。
-- column1, column2, ... 是你要更新的列的名称。
-- value1, value2, ... 是新的值,用于替换旧的值。
-- WHERE condition 是一个可选的子句,用于指定更新的行。如果省略 WHERE 子句,将更新表中的所有行。

 

14、DELETE 语句

DELETE FROM table_name
WHERE condition;

-- 参数说明:
-- table_name 是你要删除数据的表的名称。
-- WHERE condition 是一个可选的子句,用于指定删除的行。如果省略 WHERE 子句,将删除表中的所有行。

-- 更多说明:
-- 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
-- 你可以在 WHERE 子句中指定任何条件
-- 您可以在单个表中一次性删除记录。


-- 示例
DELETE FROM students
WHERE graduation_year = 2021;

 

15、LIKE 子句

-- LIKE 子句是在 MySQL 中用于在 WHERE 子句中进行模糊匹配的关键字。它通常与通配符一起使用,用于搜索符合某种模式的字符串。
-- LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。
-- 如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。

SELECT column1, column2, ...
FROM table_name
WHERE column_name LIKE pattern;

-- 参数说明:
-- column1, column2, ... 是你要选择的列的名称,如果使用 * 表示选择所有列。
-- table_name 是你要从中查询数据的表的名称。
-- column_name 是你要应用 LIKE 子句的列的名称。
-- pattern 是用于匹配的模式,可以包含通配符。

 

16、UNION 操作符

-- MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合,并去除重复的行。
-- UNION 操作符必须由两个或多个 SELECT 语句组成,每个 SELECT 语句的列数和对应位置的数据类型必须相同。

SELECT column1, column2, ...
FROM table1
WHERE condition1
UNION
SELECT column1, column2, ...
FROM table2
WHERE condition2
[ORDER BY column1, column2, ...];


-- 参数说明:
-- column1, column2, ... 是你要选择的列的名称,如果使用 * 表示选择所有列。
-- table1, table2, ... 是你要从中查询数据的表的名称。
-- condition1, condition2, ... 是每个 SELECT 语句的过滤条件,是可选的。
-- ORDER BY 子句是一个可选的子句,用于指定合并后的结果集的排序顺序。

 

17、ORDER BY(排序) 语句

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC | DESC], column2 [ASC | DESC], ...;


-- 参数说明:
-- column1, column2, ... 是你要选择的列的名称,如果使用 * 表示选择所有列。
-- table_name 是你要从中查询数据的表的名称。
-- ORDER BY column1 [ASC | DESC], column2 [ASC | DESC], ... 是用于指定排序顺序的子句。ASC 表示升序(默认),DESC 表示降序。

 

举报

相关推荐

0 条评论