mysql数据库-1-1-基础-数据库curd,表结构curd

数据库

主要是通过这个学习到什么?
1,库的操作
2,表的操作,包括查询,多表查询,子查询
3,视图,事务,索引,锁,

数据库操作

1.创建数据库

#创建一个名字为 db_name 的数据库,并指定当前库的编码集为utf8
CREATE DATABASE db_name charset utf8;

2.查看数据库

#查询当前用户下所有数据库
show databases;

3.选择数据库

USE db_name;

4.删除数据库

DROP DATABASE db_name;

表结构操作

1,创建表结构:

语法:
CREATE TABLE 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]
)ENGINE=innodb DEFAULT CHARSET utf8;

实例:

create table student(
    id int not null auto_increment primary key,
    name varchar(250) not null,
    age int not null,
    sex enum('男','女') not null default '男',
    salary double(10,2) not null
)engine=innodb default charset=utf8;

ps: not null :表示此列不能为空
auto_increment :表示自增长,默认每次增长+1
注意:自增长只能添加在主键或者唯一索引字段上

primary key :表示主键(唯一且不为空)
engine =innodb :表示指定当前表的存储引擎
default charset utf8 :设置表的默认编码集

2,查询表结构:

select name,sex from student;
或者: select * from student;
#查看表结构
例: desc student;
#查看创建表信息
show create table student; 

mysql怎样查看表的注释

查看表注释的方法

  • 方法一:
-- 在生成的SQL语句中看 查看表生成的DDL 注意:表名不加单引号
show create table 表名;

– 在元数据的表里面看

  • 方法二:
use information_schema;
select * from TABLES where TABLE_SCHEMA='数据库名' and TABLE_NAME='表名'
两句都要执行

拓展:

  • 创建表的时候写注释
create table t_user(
    ID INT(19) primary key auto_increment  comment '主键',
    NAME VARCHAR(300) comment '字段的注释',
    CREATE_TIME date comment '创建时间'
)comment  = '表的注释';
  • 修改表的注释
修改表的注释
alter table 表名 comment '修改后的表的注释';

修改字段的注释
alter table 表名 modify column 字段名 字段类型 comment '修改后的字段注释';

--注意:字段名和字段类型照写就行,如果之前有规定长度 这里也要指定一下
如:alter table t_cal_res_channel MODIFY column resume_channel varchar(30) COMMENT '渠道'

3,修改表结构:

添加表字段

alter table 表名 add 字段名 类型 约束;
例如:

alter table student add age int not null default 0 after name;
//增加一个字段,默认为空
alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; 
//增加一个字段,默认不能为空
alter table user add COLUMN new2 VARCHAR(20) NOT NULL;

ps: after name 表示在name字段后添加字段 age.

修改表字段

方式一:
alter table student modify 字段 varchar(100) null;
方式二:
alter table student change 旧字段 新字段 int not null default 0;
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;

alter  table table1 change column1 column1 varchar(100) DEFAULT 1.2 COMMENT '注释'; -- 正常,此时字段名称没有改变,能修改字段类型、类型长度、默认值、注释  
alter  table table1 change column1 column2 decimal(10,1) DEFAULT NULL COMMENT '注释' -- 正常,能修改字段名、字段类型、类型长度、默认值、注释  
alter  table table1 change column2 column1 decimal(10,1) DEFAULT NULL COMMENT '注释' -- 正常,能修改字段名、字段类型、类型长度、默认值、注释  
alter  table table1 change column1 column2; -- 报错

alter table tb_http_testcase_step  AUTO_INCREMENT=166; 

ps:二者区别:
change 可以改变字段名字和属性
modify只能改变字段的属性

删除表字段 :

alter table student drop 字段名;

更新表名称:

rename table 旧表名 to 新表名;

4,删除表结构:

#删除表
drop table 表名;
#清空表
truncate table 表名; 

5,复制表结构:

#只复制表结构和表中数据
CREATE TABLE tb2 SELECT * FROM tb1;
ps:主键自增/索引/触发器/外键 不会 被复制
#只复制表结构
create table tb2 like tb1;
ps: 数据/触发器/外键 不会被复制 

6,表字段数据类型:

大致可以分为四类:数值、字符串类型、日期/时间和其他类型。

数值型
二进制类型:    bit[(M)]
整数类型:    tinyint[(m)]   int[(m)]    bigint[(m)   作用:存储年龄,等级,id,各种号码等
小数型:    decimal[(m[,d])](特别的:对于精确数值计算时需要用此类型)  FLOAT[(M,D)]   DOUBLE[(M,D)] (数值越大,越不准确)
字符型:      char (m)  varchar(m)  text  text数据类型用于保存变长的大字符串,
枚举类型(了解):        enum
集合类型(了解):     set
日期/时间类型:    DATE 日期值   TIME  时间值或持续时间  YEAR 年份值  DATETIME 混合日期和时间值    TIMESTAMP 时间戳
posted @ 2022-06-15 13:44  技术改变命运Andy  阅读(350)  评论(0编辑  收藏  举报