MySQL零基础入门(二)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: MySQL零基础入门(二)

文章目录


修改表

1.添加列

alter table tablename

add (column datatype [default expr]

[,column datatype]…);

2.修改列

alter table tablename

modify (column datatype [default expr]

[,column datatype]…);

3.删除列

alter table tablename

drop (column);

查看表的结构:desc 表名; 可以查看表的列

修改表名:rename table 表名 to 新表名

修改表字符集:alter table 表名 character set 字符集

4.代码

#员工表emp的上增加一个image列,varchar类型(要求在resume后面).
alter table emp
      add image varchar(32) not null default ''
    after resume
#显示表结构,可以查看表的所有列
desc emp;
#修改job列,使其长度为60.
alter table emp
      modify job varchar(60) not null default ''
#删除sex列
alter table emp
      drop sex;
#表名改为employee。
rename table emp to employee
desc employee;
#修改表的字符集为utf8
alter table employee character set utf8;
#列名name修改user_name
alter table employee
       change `name` `user_name` varchar(64) 
     not null default ''

5.insert语句

使用insert语句向表中插入数据

insert插入 into到…里面 table_name表名[(column,column,column)]

values价值 (values,values,values数值)

#insert 语句
#创建一张商品表goods (id int,goods_name varchar(10),price double);
#添加2条记录
create table `goods`(
        id int,
    goods_name varchar(10),
    price double);
select * from goods; #显示表的结构
#添加数据
insert into `goods` (id,goods_name,price)
       values(10,'华为手机',2000);
insert into `goods` (id,goods_name,price)
       values(10,'苹果手机',3000);

6.说明insert语句的细节

#插入的数据应与字段的数据类型相同。

#比如把’abc’添加到int类型会报错

insert into `goods` (id,goods_name,price)
       values('12','华为手机',2000);
 SELECT * FROM `goods`;

#数据的长度应在列的规定范围内,列如:不能将一个长度为80的字符串加入到长度为40的列中

#在values中列出的数据位置必须与被加入的列的排位位置相对应。

#字符和日期型数据应包含在单引号中。

#列可以插入空值【前提是该字段可以为空】insert into table_name values(null)

#insert into tab_name(列名。。)  values(),(),() 形式添加多条记录
insert into `goods` (id,goods_name,price)
       values('23','华为手机',2000),('23','oppo手机','1300');

#如果是给表中的所有字段添加数据,可以不写前面的字段名称

 insert into `goods`
       values('11','小米手机',2000);
  SELECT * FROM `goods`;

#默认值的使用,当不给某个字段值时,如果有默认值就会添加默认值,否则报错

#如果某个列 没有指定 not null,那么当添加数据时,没有给定值,则会默认给null

#如果我们希望指定某个列的默认值,可以在创建时指定

 insert into `goods2`
       values('10','华硕手机',2000);
SELECT * FROM `goods2`;

7.update语句

#在上面创建的employee表中修改表中的纪录

#将所有员工薪水修改为5000元。如果没有带where条件,会修改所有的记录,一定要带where。

update employee set salary = 5000
select * from employee;
#将姓名为小妖怪的员工薪水修改为3000元。
update employee 
         set salary=3000 
         where user_name = '小妖怪' 

#将小李的薪水在原有基础上增加1000元

update employee 
         set salary=salary - 1
         where user_name = '小李'
#update语句细节
#解释说明update语法可以用来更新原有行中的各列
#set语句指示要修改那些列和要给予那些值
#where语句指定更新那些行,如果没有where语句则更新所有行,记住要带where语句
#如果需要修改多个字段,可以通过 set字段1=  值1,字段2=值2。。。。
update employee 
         set salary=salary +1000,job='打水'
         where user_name = '小李'   
#delete语句演示
#删除表中名称为‘小张’的记录.
select * from employee; 
delete from employee
          where user_name = '小李';
删除表中的所有记录
#delete from employee(慎用)
#delete语句不能删除某一列的值(可使用update设为null或者'')
#使用delete语句仅删除记录,不删除表本身,删除表的命令drop table 表名


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
存储 缓存 关系型数据库
132.【MySQL_进阶】(十)
132.【MySQL_进阶】
107 1
|
7月前
|
存储 SQL 数据库
132.【MySQL_进阶】(八)
132.【MySQL_进阶】
65 0
|
7月前
|
存储 SQL 关系型数据库
132.【MySQL_进阶】(四)
132.【MySQL_进阶】
51 0
|
7月前
|
存储 SQL 关系型数据库
132.【MySQL_进阶】(二)
132.【MySQL_进阶】
54 0
|
7月前
|
SQL 关系型数据库 MySQL
132.【MySQL_进阶】(九)
132.【MySQL_进阶】
79 0
|
7月前
|
SQL 关系型数据库 MySQL
132.【MySQL_进阶】(五)
132.【MySQL_进阶】
99 0
|
7月前
|
存储 SQL 关系型数据库
132.【MySQL_进阶】(一)
132.【MySQL_进阶】
47 0
|
7月前
|
SQL 关系型数据库 MySQL
132.【MySQL_进阶】(三)
132.【MySQL_进阶】
57 0
|
7月前
|
存储 SQL 关系型数据库
132.【MySQL_进阶】(六)
132.【MySQL_进阶】
79 0
|
SQL 存储 安全
MySQL入门学习笔记(下)
本文是博主在学习MySQL过程中总结的个人学习笔记供大家学习参考
192 0
MySQL入门学习笔记(下)