003 学习笔记--简介 + DDL(创建数据库|表|字段) + 数据类型

发布时间 2023-06-28 17:22:30作者: sunwugang

DBMS--建立在关系模型基础上,由多张相互连接的二维表组成的数据库。

特点:

  1. 使用表存储数据,格式统一,便于维护
  2. 使用SQL语言操作,标准统一,使用方便

MySQL启动或停止

net start mysql80

net stop mysql80

SQL通用语法

  1. sql语句可单行或多行书写,以分号结尾
  2. sql语句可使用空格缩进来增强语句的可读性
  3. mysql数据库的sql语句不区分大小写,关键字建议使用大写
  4. 注释:
    • 单行注释:-- 或 # (ctrl +/)
    • 多行注释:/* 注释 */

SQL分类

 DDL--数据库操作

  • 查询:查询所有数据库--show databases; (navicat.exe 执行sql,快捷键-- ctrl +r)
  • 查询当前数据库:select database();
  • 创建:create database if not exists 数据库名称 default charset 字符集 coliate 排序规则;
  • 删除:drop database if exists 数据库名称;
  • 使用:use 数据库名称;
create DATABASE if not EXISTS LearnMySqlDB;
show databases;
drop DATABASE if EXISTS LearnMySqlDB;
show databases;
select database();--查询当前所在数据库
use 数据库名称;--选择使用数据库

DDL--操作表--查询

  • 查询当前数据库所有表:show tables; 
  • 查询表结构:desc 表名;
  • 查询指定表的建表语句:show create table 表名;--如下图所示:

DDL--创建表结构:注,日期不建议使用字符串

create table if not exists remarkInfo
(
	id int COMMENT '编号',
	remark VARCHAR(100) not NULL COMMENT '备注'
)COMMENT '备注信息表';

-- 查询创建表结构语句
show create table remarkInfo;

-- 创建语句如下所示:
/*
CREATE TABLE `remarkinfo` (
  `id` int(11) DEFAULT NULL COMMENT '编号',
  `remark` varchar(100) NOT NULL COMMENT '备注'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='备注信息表'
*/

新增字段

CREATE PROCEDURE addfields ()
BEGIN
    IF (SELECT count(*) FROM information_schema.COLUMNS WHERE table_name =  'remarkInfo' AND column_name = 'addcoltest')=0 THEN
        ALTER TABLE `remarkInfo`
            ADD COLUMN `addcoltest` varchar(100) default '' COMMENT '新增字段测试' ;
    END IF;
 
END;
CALL addfields ();
DROP PROCEDURE addfields;

-- 查看表结构
desc remarkInfo;

数据类型:数值类型、字符串类型、日期时间类型

https://www.runoob.com/mysql/mysql-data-types.html

-- 查看表结构
desc remarkInfo;

-- 修改数据类型 或字段长度
-- alte table 表名 MODIFY 字段名 新数据类型(长度);
alter table remarkInfo MODIFY addcoltest char(10);
alter table remarkInfo MODIFY addcoltest VARCHAR(100);
alter table remarkInfo MODIFY addcoltest VARCHAR(200);

-- 修改字段名和字段类型
-- alte table 表名  CHANGE 旧字段名称 新字段名称 类型(长度) 注释 约束
alter table remarkInfo CHANGE addcoltest content VARCHAR(100) COMMENT '内容信息' not null;

-- 查看表结构
desc remarkInfo;

-- 删除字段 
-- alter TABLE 表名 DROP 字段名称
ALTER TABLE remarkInfo ADD COLUMN addcol varchar(100) default '' COMMENT '新增字段测试';
alter TABLE remarkInfo DROP addcol;

-- 删除表
drop table if EXISTS tableName;

-- 删除指定表,并重新创建表结构
TRUNCATE table tableName;