MySQL必备知识DDL和DML

DDL

DDL(Data Definition Language):数据定义语言,它是用来定义,主要负责管理数据对象的。
其中包括数据库和表格的多种操作

  • create (创建)
  • drop (删除)
  • alter (修改)
  • show (查看)

数据库命令

查看数据库的命令

show databases; #查询所以的数据库  

1,创建数据库

create database 数据库名;

2,重复创建同名数据库会报错,所以一般都使用:
create database if not exists 数据库名;
如果不存在"数据库名"就创建数据库,存在则跳过这条语句.

create database if not exists 数据库名;

3,注意默认字符集在MySQL5.7版本中编码为Latin1,不支持中文,所以在5.7的版本应改为:

create database 数据库名 default charset utf8;

但是在MySQL8.0以上的版本,已经解决了这个问题,8.0以上的版本,默认是utf-8编码;charset是字符编码,如果没有指定则数据库无法存储中文字符
4,删除数据库,一旦删除,数据将难以恢复

drop database 数据库名; 

5,使用数据库(进入数据库);

use 数据库名

数据表的创建与删除

常用的表查询命令

desc 数据表
show columns from 数据表

创建表

create table if not exists 表格名程( 
         属性名1 属性类型 [约束...], 
         ...... 
         属性名n 属性类型 [约束...], 
);#创建表并设置它的属性

示例:创建学生表,如果已经创建好了就忽略

create table if not exists student_tb(
	s_id int,					##学号
    s_name varchar(20),			##学生姓名
    s_age  int,					##学生年龄
	s_sex  varchar(4),			##性别
    s_birthday date				##生日
);

属性类型

表格在创建的时候,要给每个列名指定一个属性来存储

数值类型

类型 字节 描述
tinyint 1字节 迷你整型(0~255)
smallint 2字节 小整型(0~65535)
mediumint 3字节 中等整型
int (integer) 4字节 整型
bigint 8字节 大整型
float 4字节 单精度浮点型
double 8字节 双精度浮点型
decimal 自适应 小数类型

字符串类型

类型 描述
char(长度) 定长字符串[0-255]
varchar(长度) 自动缩进的字符串
tinyblob 表示小型的二进制数据
tinytext 小型文本
mediumblob 中等大小的二进制数据
blob 二进制数据
text 中型文本
longblob 长二进制数据
longtext 长文本字符串

常用的时间和日期类型

数据类型 描述 格式
date 日期 YYYY-MM-DD time
time 时间 HH:mm:SS(24小时制)
datatime 日期时间 YYYY-MM-DD HH:MM:SS

删除表

 drop table 数据表名;

修改表名

rename table 表名 to 新表名;

查询表结构

desc 表名 ; show columns from 表名 ;

修改表的结构

增加表中列

alter table [表名] add <属性列名> <属性类型> (约束); 

修改表中列的数据类型

alter table [表名] modify column <属性列名> <类型> (约束);

修改表中列的名称

alter table [表名] change column <属性列名> <修改为属性列名> <类型> (约束);

删除表中列

alter table [表名] drop column 属性列名;

DML

数据操纵语言,它是用来操纵数据对象中的数据的。
其中包括数据的

  • insert(插入)
  • delete(删除)
  • update(更新修改)

表的查询语句(DQL)

select * from 表格;

表的数据插入

1,选择需要插入的属性值

insert into 表名(
     属性名1,属性名2,,属性名n) value(
     属性值1,属性值2,,属性值n);`

2,为全部属性插入属性值,可以不用给表名指定属性名

insert into 表名 value(属性值1,属性值2,,属性值n);

注意:这里的属性值与属性名的位置要一一对应。
3,插入多条数据

insert into 表名 values 
    (属性值1,属性值2,,属性值n), 
    (属性值1,属性值2,,属性值n), 
    (属性值1,属性值2,,属性值n);

表中数据的更新

1,更新全部数据

update 表名 set 属性名1=属性值1,属性名2=属性值2; 

2,带条件更新

update 表名 set 属性名1=属性值1,属性名2=属性值2 where 属性名=属性值;

3,多条件更新
所有条件需要同时满足用and或‘&&’,不需要同时满足用or或‘||’。

update 表名 set 属性名1=属性值1,属性名2=属性值2 where 属性名1=属性值1 &&(||) 属性名2=属 性值2;

表的数据删除

1, 全部删除

delete from 表名; 

2,条件删除

delete from 表名 where 属性名=属性值;

3,总结
数据存储

  • 插入数据
  • 修改数据
  • 删除数据
  • 查询数据

猜你喜欢

转载自blog.csdn.net/qq_45893999/article/details/106911312