MySQL 数据库利用

打印 上一主题 下一主题

主题 961|帖子 961|积分 2883

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、数据库操纵

1. 创建数据库

  1. CREATE DATABASE database_name;
复制代码
例如,创建一个名为 my_database 的数据库:
  1. CREATE DATABASE my_database;
复制代码
2. 选择数据库

  1. USE database_name;
复制代码
要利用刚才创建的 my_database 数据库:
  1. USE my_database;
复制代码
3. 删除数据库

  1. DROP DATABASE database_name;
复制代码
请注意,删除数据库是不可逆的操纵,需谨慎利用。
二、表操纵

1. 创建表

  1. CREATE TABLE table_name (
  2.     column1 data_type,
  3.     column2 data_type,
  4.    ...
  5. );
复制代码
例如,创建一个名为 students 的表,包罗 id(整数,自增主键)、name(字符串,最大长度 50)和 age(整数)列:
  1. CREATE TABLE students (
  2.     id INT PRIMARY KEY AUTO_INCREMENT,
  3.     name VARCHAR(50),
  4.     age INT
  5. );
复制代码
2. 查看表布局

  1. DESCRIBE table_name;
复制代码

  1. SHOW CREATE TABLE table_name;
复制代码
3. 删除表

  1. DROP TABLE table_name;
复制代码
三、数据插入

1. 插入单行数据

  1. INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,...);
复制代码
向 students 表插入一条学生数据:
  1. INSERT INTO students (name, age) VALUES ('Alice', 20);
复制代码
2. 插入多行数据

  1. INSERT INTO table_name (column1, column2,...)
  2. VALUES (value1, value2,...),
  3.        (value3, value4,...),
  4.       ...;
复制代码
例如:
  1. INSERT INTO students (name, age)
  2. VALUES ('Bob', 21),
  3.        ('Charlie', 19);
复制代码
四、数据查询

1. 基本查询

  1. SELECT column1, column2,... FROM table_name;
复制代码
例如,从 students 表中选择所有学生的姓名和年岁:
  1. SELECT name, age FROM students;
复制代码
2. 条件查询

  1. SELECT column1, column2,... FROM table_name WHERE condition;
复制代码
查询年岁大于 18 岁的学生:
  1. SELECT * FROM students WHERE age > 18;
复制代码
3. 排序结果

  1. SELECT column1, column2,... FROM table_name ORDER BY column_name ASC|DESC;
复制代码
按年岁升序排列学生数据:
  1. SELECT * FROM students ORDER BY age ASC;
复制代码
按年岁降序排列:
  1. SELECT * FROM students ORDER BY age DESC;
复制代码
4. 限制结果行数

  1. SELECT column1, column2,... FROM table_name LIMIT offset, row_count;
复制代码
获取前 10 条学生纪录:
  1. SELECT * FROM students LIMIT 0, 10;
复制代码
获取第 11 到 20 条纪录:
  1. SELECT * FROM students LIMIT 10, 10;
复制代码
5. 聚合函数

  1. SELECT COUNT(column_name), SUM(column_name), AVG(column_name), MIN(column_name), MAX(column_name) FROM table_name;
复制代码
例如,计算学生的总数、年岁总和、均匀年岁、最小年岁和最大年岁:
  1. SELECT COUNT(*), SUM(age), AVG(age), MIN(age), MAX(age) FROM students;
复制代码
6. 分组查询

  1. SELECT column1, aggregate_function(column2) FROM table_name GROUP BY column1;
复制代码
按照年岁分组,计算每个年岁组的学生数量:
  1. SELECT age, COUNT(*) FROM students GROUP BY age;
复制代码
7. 连接查询

  1. -- 内连接(INNER JOIN)
  2. SELECT column1, column2,... FROM table1 INNER JOIN table2 ON table1.column = table2.column;
  3. -- 左连接(LEFT JOIN)
  4. SELECT column1, column2,... FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
  5. -- 右连接(RIGHT JOIN)
  6. SELECT column1, column2,... FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;
复制代码
假设有两个表 students 和 courses ,通过 student_id 关联,获取学生及其选修课程的信息:
  1. SELECT s.name, c.course_name
  2. FROM students s
  3. INNER JOIN courses c ON s.student_id = c.student_id;
复制代码
五、数据更新

  1. UPDATE table_name SET column1 = value1, column2 = value2,... WHERE condition;
复制代码
将学生 Alice 的年岁更新为 21 岁:
  1. UPDATE students SET age = 21 WHERE name = 'Alice';
复制代码
六、数据删除

  1. DELETE FROM table_name WHERE condition;
复制代码
删除年岁小于 18 岁的学生纪录:
  1. DELETE FROM students WHERE age < 18;
复制代码
七、索引

索引是提高数据库查询性能的紧张本领。
1. 创建普通索引

  1. CREATE INDEX index_name ON table_name (column_name);
复制代码
例如,为 students 表的 name 列创建索引:
  1. CREATE INDEX idx_name ON students (name);
复制代码
2. 创建唯一索引

  1. CREATE UNIQUE INDEX index_name ON table_name (column_name);
复制代码
确保某列的值唯一。
3. 查看索引

  1. SHOW INDEX FROM table_name;
复制代码
4. 删除索引

  1. DROP INDEX index_name ON table_name;
复制代码
八、存储过程和函数

1. 创建存储过程

  1. DELIMITER //
  2. CREATE PROCEDURE procedure_name(parameter_list)
  3. BEGIN
  4.     -- 存储过程的逻辑
  5. END //
  6. DELIMITER ;
复制代码
例如,创建一个计算两个数之和的存储过程:
  1. DELIMITER //
  2. CREATE PROCEDURE add_numbers(num1 INT, num2 INT)
  3. BEGIN
  4.     SELECT num1 + num2 AS sum;
  5. END //
  6. DELIMITER ;
复制代码
2. 调用存储过程

  1. CALL procedure_name(parameter_values);
复制代码
调用上述存储过程:
  1. CALL add_numbers(5, 3);
复制代码
3. 创建函数

  1. DELIMITER //
  2. CREATE FUNCTION function_name(parameter_list) RETURNS data_type
  3. BEGIN
  4.     -- 函数的逻辑
  5.     RETURN result;
  6. END //
  7. DELIMITER ;
复制代码
例如,创建一个返回字符串长度的函数:
  1. DELIMITER //
  2. CREATE FUNCTION str_length(str VARCHAR(255)) RETURNS INT
  3. BEGIN
  4.     RETURN CHAR_LENGTH(str);
  5. END //
  6. DELIMITER ;
复制代码
4. 调用函数

  1. SELECT function_name(parameter_values);
复制代码
调用上述函数:
  1. SELECT str_length('Hello');
复制代码
九、事件

事件用于保证数据的一致性和完整性。
  1. START TRANSACTION;
  2. -- 一系列操作
  3. COMMIT;  -- 提交事务
  4. ROLLBACK;  -- 回滚事务
复制代码
例如,在转账操纵中确保数据的一致性:
  1. START TRANSACTION;
  2. UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;
  3. UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;
  4. COMMIT;
复制代码
十、备份与规复

1. 数据备份

可以利用 mysqldump 命令来备份数据库。
  1. mysqldump -u username -p database_name > backup.sql
复制代码
2. 数据规复

利用以下命令从备份文件中规复数据。
  1. mysql -u username -p database_name < backup.sql
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

光之使者

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表