MySQL零基础入门(二)
文章目录
- 修改表
-
- 1.添加列
- 2.修改列
- 3.删除列
- 4.代码
- 5.insert语句
- 6.说明insert语句的细节
- 7.update语句
修改表
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 employeedesc employee;#修改表的字符集为utf8alter table employee character set utf8;#列名name修改user_namealter table employeechange `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 = 5000select * 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 表名