mysql指令笔记(基本)

一、数据库操作

  1. 创建数据库:
    CREATE DATABASE database_name;
  2. 选择数据库:
    USE database_name;
  3. 删除数据库:
    DROP DATABASE database_name;

二、表操作

  1. 创建表:
    CREATE TABLE table_name (column1 datatype constraint, column2 datatype constraint,...);
    例如:CREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), age INT);
  2. 查看表结构:
    DESC table_name;
  3. 删除表:
    DROP TABLE table_name;
  4. 插入数据:
    INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,...);
    例如:INSERT INTO students (name, age) VALUES ('Tom', 20);
  5. 更新数据:
    UPDATE table_name SET column1 = value1, column2 = value2,... WHERE condition;
    例如:UPDATE students SET age = 21 WHERE name = 'Tom';
  6. 删除数据:
    DELETE FROM table_name WHERE condition;
    例如:DELETE FROM students WHERE age < 18;

修改表中字段的数据类型
ALTER TABLE sc MODIFY COLUMN grade NUMERIC;

改变表中的数据用update
UPDATE course SET ccredit = 10 WHERE cno = '003';

三、查询语句

  1. 基本查询:
    SELECT column1, column2,... FROM table_name;
    例如:SELECT name, age FROM students;
  2. 条件查询:
    SELECT * FROM table_name WHERE condition;
    例如:SELECT * FROM students WHERE age > 18;
  3. 排序查询:
    SELECT * FROM table_name ORDER BY column_name ASC/DESC;
    例如:SELECT * FROM students ORDER BY age ASC;
  4. 限制查询结果数量:
    SELECT * FROM table_name LIMIT offset, row_count;
    例如:SELECT * FROM students LIMIT 10, 5;(从第 10 行开始取 5 条记录)
  5. 聚合函数查询:
    • 常见聚合函数有 COUNT(计数)、SUM(求和)、AVG(平均值)、MAX(最大值)、MIN(最小值)。
      例如:SELECT COUNT(*) FROM table_name;SELECT SUM(column_name) FROM table_name;
  6. 分组查询:
    SELECT column1, aggregate_function(column2) FROM table_name GROUP BY column1;
    例如:SELECT age, COUNT(*) FROM students GROUP BY age;
  7. 多表连接查询:
    • 内连接(INNER JOIN):SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;
    • 左连接(LEFT JOIN):SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
    • 右连接(RIGHT JOIN):SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;

四、索引操作

  1. 创建索引:
    CREATE INDEX index_name ON table_name (column_name);
  2. 删除索引:
    DROP INDEX index_name ON table_name;

五、视图操作

  1. 创建视图:
    CREATE VIEW view_name AS SELECT column1, column2,... FROM table_name WHERE condition;
  2. 删除视图:
    DROP VIEW view_name;

六、存储过程和函数

  1. 创建存储过程:
    DELIMITER // CREATE PROCEDURE procedure_name(parameter_list) BEGIN -- SQL statements END // DELIMITER ;
  2. 调用存储过程:
    CALL procedure_name(parameter_values);
  3. 创建函数:
    DELIMITER // CREATE FUNCTION function_name(parameter_list) RETURNS return_datatype BEGIN -- SQL statements RETURN result; END // DELIMITER ;
  4. 调用函数:
    SELECT function_name(parameter_values);

七、数据类型

  1. 数值类型:
    • INT:整数类型,例如 id INT
    • FLOAT:单精度浮点数。
    • DOUBLE:双精度浮点数。
    • DECIMAL(m,n):定点数,其中 m 是总位数,n 是小数位数。
  2. 字符串类型:
    • VARCHAR(length):可变长度字符串,需要指定最大长度。
    • CHAR(length):定长字符串,长度固定。
    • TEXT:用于存储较长的文本数据。
  3. 日期和时间类型:
    • DATE:存储日期,格式为 YYYY-MM-DD。
    • TIME:存储时间,格式为 HH:MM:SS。
    • DATETIME:存储日期和时间,格式为 YYYY-MM-DD HH:MM:SS。

八、约束条件

  1. PRIMARY KEY:主键约束,用于唯一标识表中的每一行。
    例如:id INT PRIMARY KEY
  2. FOREIGN KEY:外键约束,用于建立表之间的关系。
    例如:student_id INT, FOREIGN KEY (student_id) REFERENCES students(id)
  3. UNIQUE:唯一约束,确保列中的值是唯一的。
    例如:email VARCHAR(50) UNIQUE
  4. NOT NULL:非空约束,要求列不能为空。
    例如:name VARCHAR(50) NOT NULL
  5. DEFAULT:默认值约束,为列指定默认值。
    例如:age INT DEFAULT 18

1. 数据定义语言(DDL - Data Definition Language)

  • CREATE: 用于创建数据库、表、视图、索引等数据库对象。

    • 示例: CREATE TABLE employees (id INT, name VARCHAR(100));

  • ALTER: 用于修改现有数据库对象的结构,如添加、删除或修改列。

    • 示例: ALTER TABLE employees ADD COLUMN email VARCHAR(100);

  • DROP: 用于删除数据库对象,如表、视图、索引等。

    • 示例: DROP TABLE employees;

  • TRUNCATE: 用于清空表中的所有数据,但保留表结构。

    • 示例: TRUNCATE TABLE employees;

  • RENAME: 用于重命名数据库对象,如表、列等。

    • 示例: RENAME TABLE old_name TO new_name;

2. 数据操作语言(DML - Data Manipulation Language)

  • SELECT: 用于从数据库中查询数据。

    • 示例: SELECT * FROM employees WHERE id = 1;

  • INSERT: 用于向表中插入新数据。

    • 示例: INSERT INTO employees (id, name) VALUES (1, 'John Doe');

  • UPDATE: 用于更新表中的现有数据。

    • 示例: UPDATE employees SET name = 'Jane Doe' WHERE id = 1;

  • DELETE: 用于从表中删除数据。

    • 示例: DELETE FROM employees WHERE id = 1;

3. 数据控制语言(DCL - Data Control Language)

  • GRANT: 用于授予用户或角色特定的权限。

    • 示例: GRANT SELECT, INSERT ON employees TO 'user';

  • REVOKE: 用于撤销用户或角色的特定权限。

    • 示例: REVOKE INSERT ON employees FROM 'user';

4. 事务控制语言(TCL - Transaction Control Language)

  • COMMIT: 用于提交当前事务,使其对数据库的更改永久化。

    • 示例: COMMIT;

  • ROLLBACK: 用于回滚当前事务,撤销对数据库的更改。

    • 示例: ROLLBACK;

  • SAVEPOINT: 用于在事务中设置一个保存点,以便在需要时可以回滚到该点。

    • 示例: SAVEPOINT my_savepoint;

  • SET TRANSACTION: 用于设置事务的特性,如隔离级别。

    • 示例: SET TRANSACTION ISOLATION LEVEL READ COMMITTED;

5. 数据查询语言(DQL - Data Query Language)

  • SELECT: 用于从数据库中查询数据。虽然SELECT通常被归类为DML,但在某些分类中,它也被单独归类为DQL。

    • 示例: SELECT * FROM employees;

6. 数据管理语言(DAL - Data Administration Language)

  • 这类指令通常用于数据库管理,包括备份、恢复、优化等操作。

  • BACKUP: 用于备份数据库。

    • 示例: BACKUP DATABASE my_db TO DISK = 'C:\backup\my_db.bak';

  • RESTORE: 用于恢复数据库。

    • 示例: RESTORE DATABASE my_db FROM DISK = 'C:\backup\my_db.bak';

7. 系统控制语言(SCL - System Control Language)

  • 这类指令用于控制数据库系统的整体行为,如启动、停止、配置等。

  • START: 用于启动数据库服务。

    • 示例: START DATABASE SERVICE;

  • STOP: 用于停止数据库服务。

    • 示例: STOP DATABASE SERVICE;

8. 数据控制语言(DCL - Data Control Language)

  • GRANT: 用于授予用户或角色特定的权限。

    • 示例: GRANT SELECT, INSERT ON employees TO 'user';

  • REVOKE: 用于撤销用户或角色的特定权限。

    • 示例: REVOKE INSERT ON employees FROM 'user';

9. 数据控制语言(DCL - Data Control Language)

  • GRANT: 用于授予用户或角色特定的权限。

    • 示例: GRANT SELECT, INSERT ON employees TO 'user';

  • REVOKE: 用于撤销用户或角色的特定权限。

    • 示例: REVOKE INSERT ON employees FROM 'user';

10. 数据控制语言(DCL - Data Control Language)

  • GRANT: 用于授予用户或角色特定的权限。

    • 示例: GRANT SELECT, INSERT ON employees TO 'user';

  • REVOKE: 用于撤销用户或角色的特定权限。

    • 示例: REVOKE INSERT ON employees FROM 'user';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值