长春网站制作最专业,网站的建设与应用,网站程序安全管理,山西制作网站公司排名在数据库开发中#xff0c;选择合适的数据类型和理解SQL语言的分类是非常重要的。今天详细介绍MySQL中的数据类型#xff0c;包括数值类型、字符串类型和日期类型#xff0c;并解释SQL语言的四大分类#xff1a;DDL、DML、DQL和DCL。
1.MySQL 数据类型
SQL语言是不区分大… 在数据库开发中选择合适的数据类型和理解SQL语言的分类是非常重要的。今天详细介绍MySQL中的数据类型包括数值类型、字符串类型和日期类型并解释SQL语言的四大分类DDL、DML、DQL和DCL。
1.MySQL 数据类型
SQL语言是不区分大小写的大写小写都可以以 ; 分隔开注意所有符号都是英文的
1数值类型
无符号类型就是后面加上 unsigned 2字符串类型 有些类型后面需要加参数例如 char(10)表示10各字符大小一旦设置好长度就是固定的实际上我只需要1个字符大小但是它占10个字符大小长度不够的后面全是空格补充 varchar(10)表示最大是10个字符长度我输入2个字符它就占2个大小上限是10 3日期和时间类型 2.SQL 语言分类 DDL (Data Definition Language): 数据定义语言用于定义数据库结构。 CREATE: 创建数据库或表。ALTER: 修改数据库或表结构。DROP: 删除数据库或表。 DML (Data Manipulation Language): 数据操作语言用于数据的增删改。 INSERT: 插入数据。UPDATE: 更新数据。DELETE: 删除数据。 DQL (Data Query Language): 数据查询语言用于查询数据。 SELECT: 查询数据。 DCL (Data Control Language): 数据控制语言用于权限控制。 GRANT: 授予权限。REVOKE: 撤销权限。
3. DDL 语句示例及说明 让我们打开cmd 输入 mysql -u rooot -p 或者 直接打开 MySQL自带的命令行工具来了解一下DDL的语法它是针对于数据库的操作而我们知道关系型数据库以二维表存储数据也包含对表的操作但是不能给表添加数据添加数据就要用到DML
再说一遍大小写都可以注意空格和英文符号还有单词别拼错了 数据库操作
SHOW DATABASES; 显示所有数据库。CREATE DATABASE 数据库名; 创建一个名为 数据库名 的数据库。USE 数据库名; 使用指定的数据库。SELECT DATABASE(); 返回当前使用的数据库。DROP DATABASE 数据库名; 删除名为 数据库名 的数据库。
常用SQL语句选项
这些可以写也可以不写可以根据需求例如 create database if not exists itheima default charset utf8mb4; IF EXISTS 和 IF NOT EXISTS 例如如果一个数据库已经 存在/删除 我们不加这些选项 直接 创建/删除 时会报错 这就是为什么要加这个的原因如果不存在就创建如果存在就不创建 create database if not exists test;
DEFAULT CHARSET
用来设置字符集MySQL8.0默认是 utf8
(1)show databases; 首先输入密码后输入 show databases; 它会显示都有哪些数据库information_schema,mysql,performance_schema,sys。这四个数据是系统默认会有的别轻易修改里面的内容
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 8.0.39 MySQL Community Server - GPLCopyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql show databases;
--------------------
| Database |
--------------------
| information_schema |
| mysql |
| performance_schema |
| sys |
--------------------
4 rows in set (0.00 sec) (2)create database 数据库名; 我们用于学习先自己创建一个数据库输入 create database ittest; 这会创建一个名为 ittest 的数据库
mysql create database if not exists ittest;
Query OK, 1 row affected (0.01 sec)mysql show databases;
--------------------
| Database |
--------------------
| information_schema |
| ittest |
| mysql |
| performance_schema |
| sys |
--------------------
5 rows in set (0.00 sec)
(3)use 数据库名;
这个命令用来切换不同数据库进行操作输入 use ittest; 出现 Database changed 说明成功切换到对 ittest 的操作
mysql select database();
------------
| database() |
------------
| itheima |
------------
1 row in set (0.00 sec)mysql use ittest;
Database changed
mysql
(4)select database();
用来查询当前所在数据库是哪个上面示例已经演示过了
(5)drop database 数据名;
用于删除数据库输入 drop database ittest; 删除ittest数据库
mysql use ittest;
Database changed
mysql drop database ittest;
Query OK, 0 rows affected (0.01 sec)mysql show databases;
--------------------
| Database |
--------------------
| information_schema |
| itheima |
| mysql |
| performance_schema |
| sys |
--------------------
5 rows in set (0.00 sec)mysql
表操作
(1)show tables; 查看数据库的表单信息输入 show tables; 我们可以看到有两个表当然这两个表是我提前创建好的
mysql show tables;
-------------------
| Tables_in_itheima |
-------------------
| emp |
| tb_user |
-------------------
2 rows in set (0.00 sec)mysql
(2)create table 表名; 创建表格注意格式每行用 , 逗号隔开最后一行除外注释用 comment 注释内容 进行描述末位再写 ; 分号格式如下 CREATE TABLE tb_user (- id INT COMMENT 编号,- name VARCHAR(50) COMMENT 姓名,- age INT COMMENT 年龄,- gender VARCHAR(1) COMMENT 性别- ) COMMENT用户表;
Query OK, 0 rows affected (0.03 sec)mysql show tables;
-------------------
| Tables_in_itheima |
-------------------
| tb_user |
-------------------
1 row in set (0.00 sec)
(3)desc 表名;
查看表单输入 desc tb_user; 会显示数据类型 desc tb_user;
------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
------------------------------------------------
| id | int | YES | | NULL | |
| name | varchar(50) | YES | | NULL | |
| age | int | YES | | NULL | |
| gender | varchar(1) | YES | | NULL | |
------------------------------------------------
4 rows in set (0.01 sec)
(4)alter table 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO …; add 用来增加信息modify修改 数据类型change 修改 名称和数据类型 drop用来删除rename to 用来重命名表单
-- 在表 employees 中添加一个新的列 email数据类型为 VARCHAR(100)
ALTER TABLE employees ADD email VARCHAR(100) COMMENT 员工电子邮件;-- 修改表 employees 中 age 列的数据类型为 SMALLINT并添加注释
ALTER TABLE employees MODIFY age SMALLINT UNSIGNED COMMENT 员工年龄;-- 修改表 employees 中的列 name将其名称更改为 full_name 并将数据类型更改为 VARCHAR(255)
ALTER TABLE employees CHANGE name full_name VARCHAR(255) COMMENT 员工全名;-- 删除表 employees 中的列 email
ALTER TABLE employees DROP email;-- 将表 employees 重命名为 staff
ALTER TABLE employees RENAME TO staff;
(5)truncate table 表名; TRUNCATE TABLE 是 MySQL 中用于快速清空表数据的 SQL 语句它会删除表中的所有记录但保留表的结构、列、索引和约束。其实是删除重新创建了一个
-- 清空 employees 表中的所有数据
TRUNCATE TABLE employees;总结 我们详细了解了MySQL中的各种数据类型包括数值类型、字符串类型和日期类型并且对每种类型的范围和占用字节大小有了清晰的认识。此外我们深入学习了DDL接着我会继续更新DML,DQL,DCL的部分。 最后制作不易给个赞吧…