专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

MySQL基础(四)

DML

  • DML(Data Manipulation Language,数据操纵语言),可以在下列条件下执行:
    • 向表中插入数据。
    • 修改现存数据。
    • 删除现存数据。
  • 事务是由完成若干项工作的DML语句组成的,要么全部成功,要么全部失败。

INSERT

语法:

INSERT INTO 表名(列名1,列名2,……,列名n) values(值1,值2,……,值n);

INSERT INTO 表名(列名1,列名2,……,列名n) values(值1,值2,……,值n),(值1,值2,……,值n),……;

应用示例:

  • 新增雇员信息:
insert into employees (first_name,last_name,email,phone_number,job_id,salary,commission_pct,manager_id,department_id,hiredate)
values ('xx','xxx','xxx@qq.com','18888888',null,3000,null,null,null,'2019-11-11')

UPDATE

语法:

UPDATE 表名
SET 列1=值1,列2=值2,……,列n=值n
[WHERE 条件];

应用示例:

  • 修改表中姓名为K_ing的手机号码为12345678901。
UPDATE employees 
SET phone_number = '12345678901' 
WHERE
    last_name = 'K_ing';

DELETE

语法:

DELETE FROM 表名
[WHERE 筛选条件];

应用示例:

  • 删除last_name为xxx的员工。
DELETE 
FROM
    employees 
WHERE
    last_name = 'xxx';

DDL

  • 库的管理(创建、修改、删除)和表的管理(创建、修改、删除)。

库的管理

创建数据库

语法:

CREATE DATABASE [IF NOT EXISTS] 数据库名 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

应用示例:

  • 创建user数据库。
CREATE DATABASE IF NOT EXISTS `user` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

修改数据库

  • 修改数据库名:先删除数据库,再创建新的数据库。
  • 更改数据库的字符集和排序规则:
ALTER DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

删除数据库

语法:

DROP DATABASE [IF EXISTS] 数据库名;

应用示例:

  • 删除数据库:
DROP DATABASE IF EXISTS 数据库名;

表的管理

表的创建

语法:

CREATE TABLE 表名(
    列名1 列的类型[长度] [列的约束],
    列名2 列的类型[长度] [列的约束],
    ……
    列名n 列的类型[长度] [列的约束]
);

应用示例:

  • 创建一个学生表:
CREATE TABLE student ( 
    id BIGINT primary KEY auto_increment, 
    `name` VARCHAR ( 255 ) 
);

表的修改

语法:

ALTER TABLE 表名 add|drop|modify|change column 列名 [列类型 约束];

应用示例:

  • 修改列名
ALTER TABLE student CHANGE COLUMN `name` stu_name VARCHAR ( 255 );

  • 修改列的类型或约束
ALTER TABLE student MODIFY COLUMN `stu_name` VARCHAR ( 32 );

  • 添加新列
ALTER TABLE student ADD COLUMN `salary` DOUBLE;

  • 删除列
ALTER TABLE student DROP COLUMN `salary`;

  • 修改表名
ALTER TABLE student RENAME TO `new_student`;

表的删除

语法:

DROP TABLE IF EXISTS 表名;

应用示例:

  • 删除学生表
DROP TABLE IF EXISTS `student`;

复制表

语法:

  • 仅仅复制表的结构:
CREATE TABLE 要复制的表名 LIKE 原表名;

  • 复制表的结构和数据:
CREATE TABLE 要复制的表名 SELECT * FROM 原表名;

应用示例:

  • 仅仅复制表的结构:
CREATE TABLE admin_back LIKE admin;

  • 复制表的结构和数据:
CREATE TABLE admin_back 
SELECT * FROM admin;

常见的数据类型

概述:

数值型:整型、小数(定点数、浮点数)。

字符型:较短的文本(char、varchar)、较长的文本(text、longtext、blob)。

日期型:

整型:

分类:

89_1.png

特点:

  • 如果不设置无符号还是有符号,默认是有符号。如果需要设置无符号,需要添加unsigned关键字。
CREATE TABLE `test_data_struct` ( 
    id INT, 
    id1 INT UNSIGNED
);

  • 如果插入的数值超过了整型的范围,MySQL会报(Out of range for column …)异常。
  • 如果不设置长度,会有默认的长度。比如int类型有符号默认是11位,无符号默认是10位。在MySQL中,对于整型来说,整型类型确定字段的范围大小,而长度确定字段显示的长度,如果不够,将用0来填充,当然此时需要配置zerofill关键字来配合使用,并且此时的数据类型必须是unsigned。
CREATE TABLE `test_data_struct` ( 
    id INT, 
    id1 INT(7) UNSIGNED ZEROFILL
);

小数:

分类:

89_2.png

语法:

CREATE TABLE `表名` ( 
    列名 FLOAT ( M, D ), 
    列名 DOUBLE ( M, D ), 
    列名 DECIMAL ( M, D ) 
);

特点:

  • M表示整数位+小数位。D表示小数位。
  • M和D都可以省略不写。如果是DECIMAL,那么M默认是10,D默认为0。
  • 定点型的精确度较高。如货币运算。

字符型

分类:

  • char和varchar表示较短的文本。

89_3.png

  • text和longtext表示较长的文本。
  • blob表示二进制数据。
  • enum表示枚举。
create table test_enum (
    c enum('a','b','c') 
);

  • set和enum类似,但是set一次可以插入多个值。
CREATE TABLE test_set (
    s SET ( 'a', 'b', 'c' )
);

INSERT INTO test_set (s) VALUES ('a');
INSERT INTO test_set (s) VALUES ('a,b');

特点:

  • char表示固定长度的字符,varchar表示可变长度的字符。

日期类型

分类:

89_4.png

文章永久链接:https://tech.souyunku.com/42660

未经允许不得转载:搜云库技术团队 » MySQL基础(四)

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们