我们在使用数据库时,大部分都是创建表,然后添加数据,对数据进行增删改等操作,所以熟悉sql一些操作是必须要掌握的
现在创建一个员工表,表字段如下图:
创建表语句:
create table employee(
id,int,
name varchar(20),
gender varchar(8),
birthday date,
entry_date date,
job varchar(20),
salary decimal(8,2),
resume text);
这个表的创建没错,但是我们在mysqlk命定行执行这表的创建会报错:
MySql ERROR 1046(3D000): No Database Selected
这是说明你没有选择数据库,也就是说你表创建在那个数据库中,没有指名,所以报错解决方案:
create database (database name)
use (database name)即可
如果已经创建了数据库,那么就使用第二个就行
注意:在创建表的时候,最后一个字段,不去能有分号,这得看仔细了,
查看表的信息和查看数据库一样
show create table table_name;
表我们创建好了,但有些时候需要对表的名子进行修改,语法如下:
rename table employee to user;
我们这是把之前employee的表名改成了user
现在又有需求了,在后期的维护中我们可能要向表中增加一个字段,比如我们向user表中增加一个iamge列
语句:
alter table user add iamge blob;
那么在有些实际需求中我们要对某个字段的长度进行修改
比如:在user表中,我们要把job这列的长度改为60
语句:
alter table user modify job varchar(60);
那么如何删除表中的某一列
比如我们在user表中删除gender列,
语句:
alter table user drop gender;
那么在有些时候我们需要对列名进行修改
比如我们要把列名name修改为username
语句:
alter table user change column name username varchar(40);
注意:这里有个change关键字 是改变的意思,后面跟着的是column是列的意思,紧接着就是列的实际名字了
如何对表的字符集进行修改呢,之前我们学了怎么修改库中的字符集,那么其实表的字符集修改和修改库的字符集一样
比如我们要把user这个表的字符集改成utf-8;
语句:
alter table user character set utf8;
当我们对表进行了修改以后 我们想查找下表的结构,其实很简单,执行如下命定即可
desc table_name;