mysql数据库表修改某一列的类型

您所在的位置:网站首页 数据库修改某列的数据的命令 mysql数据库表修改某一列的类型

mysql数据库表修改某一列的类型

2023-05-06 16:29| 来源: 网络整理| 查看: 265

下面列出:

1增加一个字段

alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; //增加一个字段,默认为空

alter table user add COLUMN new2 VARCHAR(20) NOT NULL; //增加一个字段,默认不能为空

2删除一个字段

alter table user DROP COLUMN new2; //删除一个字段

3修改一个字段

alter table user MODIFY new1 VARCHAR(10); //修改一个字段的类型

alter table user CHANGE new1 new4 int;  //修改一个字段的名称,此时一定要重新

//主键

alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);

//增加一个新列

alter table t2 add d timestamp;

alter table infos add ex tinyint not null default ‘0′;

//删除列

alter table t2 drop column c;

//重命名列

alter table t1 change a b integer;

//改变列的类型

alter table t1 change b b bigint not null;

alter table infos change list list tinyint not null default ‘0′;

//重命名表

alter table t1 rename t2;

加索引

mysql> alter table tablename change depno depno int(5) not null;

mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]);

mysql> alter table tablename add index emp_name (name);

加主关键字的索引

mysql> alter table tablename add primary key(id);

加唯一限制条件的索引

mysql> alter table tablename add unique emp_name2(cardnumber);

删除某个索引

mysql>alter table tablename drop index emp_name;

增加字段:

mysql> ALTER TABLE table_name ADD field_name field_type;

修改原字段名称及类型:

mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

删除字段:

mysql> ALTER TABLE table_name DROP field_name;

mysql修改字段长度

alter table 表名 modify column 字段名 类型;

例如

数据库中user表 name字段是varchar(30)

可以用

alter table user modify column name varchar(50) ;

SELECT a,bdata_name,cdata_name dataname

FROM t_userinfo AS a

LEFT JOIN t_sys_data AS b ON adepart=bdata_id

LEFT JOIN t_sys_data AS c ON ajob=cdata_id

WHERE 1=1

LIMIT 0,3

正确的SQL语句应该是酱紫的吧~~

在学习SQL语句之前,首先需要区分几个概念,我们常说的数据库是指数据库软件,例如MySQL、Oracle、SQL Server等,而本文提到的数据库是指数据库软件中的一个个用于存储数据的容器。

在MySQL中,数据库称为database,数据表称为table,一个数据库软件中有多个数据库(databases),每个数据库中又可以有多个数据表(tables),最终,数据是存储在数据表中。

数据库和数据表之间的关系可以用下面这个图来表示,对于一个数据库来说,有多个数据表。

在正式开始写SQL语句之前,需要说明两点。

这里通过MySQL Workbench来写SQL代码,在Workbench中,执行一条SQL语句的方式有两种。

了解了这之后,接下来介绍一些常见的命令,分两部分:数据库常用命令和数据表常用命令。

1、查看有哪些数据库

2、创建数据库

创建一个名为Testdb的数据库。

3、创建数据库并指定编码格式

有些时候,为了防止中文乱码,创建数据库的时候需要指定编码格式。

4、使用某个数据库

使用mydb这个数据库,或者进入mydb这个数据库。

5、删除数据库

删除Testdb这个数据库。

1、查看有哪些数据表

进入某个数据库之后,想查看有哪些数据表,SQL语句为:

mydb是一个新建的数据库,所以自然是没有数据表。

2、创建数据表

建表SQL语句格式为:

说明: 每个字段以逗号分隔,最后一个字段不加逗号。

例如,给定一个学员信息表,如下表所示。

根据以上表格,建表SQL语句如下。

以上语句中,primary key表示主键,意思是这个字段作为记录的唯一标识,就像每个人的身份z号,都是唯一确定的。

3、查看表结构

查看表结构的SQL命令为:

执行该命令会显示表stuinfo的基本结构,例如有哪些字段,每个字段是什么类型,谁是主键等。

4、修改数据表

修改数据表通过drop子句进行,比如,建完表后,想增加一个字段,SQL语句的格式为:

想在指定位置增加一个字段,例如,在某个字段后增加一个字段,SQL语句的格式为:

如果在某个字段之前增加字段,用before即可。

例如,在字段age后增加一个字段major(专业),SQL语句为:

执行这个命令,再通过describe查看表结构,会发现表中多了一个字段major。

如果要删除major这个字段,通过drop子句,SQL语句为:

5、重命名表

重命名表通过alter+rename来实现,SQL语句格式为:

这里为了不影响之前创建的表,我们创建一个新表,SQL语句如下。

以上创建一个名为stuInfoTest的表,现在想将它的名称改成stuinfotest1,SQL语句为:

6、删除数据表

删除数据表通过drop进行,SQL语句格式为:

例如,删除数据表stuinfotest1,SQL语句为:

7、插入记录

此时的表stuinfo是空的,没有数据,我们要向表中插入记录。

插入记录通过insert into进行,SQL语句格式为:

例如,向表stuinfo插入一条记录,SQL语句为:

注意:上方是一条SQL语句,为了可读性换行,记住一条SQL语句默认以分号结尾。

如果需要一次性插入多条记录,SQL语句格式为:

例如,向表stuinfo再插入两条记录,SQL语句为:

注意:如果设置了主键,插入记录的主键字段是不能重复的,也就是不能插入重复的记录。

作业:大家可以按照上述方法将上面的学员信息表中的所有记录都插入表stuinfo中。

8、查询记录

有了数据之后,就可以查询记录了,查询记录通过select子句进行。

例如,想查询表stuinfo中的所有记录,SQL语句为:

执行之后,就可以看到表stuinfo中的所有记录了。

如果想查询符合某个条件的记录,就要用到where子句了,SQL格式为:

例如,想查询stuid为20161001的记录,SQL语句为:

9、删除记录

删除记录通过delete子句进行,SQL语句格式为:

例如,想删除stuid为20161002的记录,SQL语句为:

10、修改记录

修改记录通过update子句进行,update就是更新的意思,SQL语句格式为:

例如,想将学号(stuid)为20161001的记录的姓名(stuname)更新为Jack,SQL语句为:

以上,就是MySQL中的基本SQL语句。

零基础如何学习数据分析?查看下方专栏。

修改mysql数据库表的方法:使用“ALTER TABLE”语句,可以改变原有表的结构,例如增加字段或删减字段、修改原有字段数据类型、重新命名字段或表、修改表字符集等;语法“ALTER TABLE [修改选项]”。

修改数据表的前提是数据库中已经存在该表。修改表指的是修改数据库中已经存在的数据表的结构。修改数据表的 *** 作也是数据库管理中必不可少的,就像画素描一样,画多了可以用橡皮擦掉,画少了可以用笔加上。

不了解如何修改数据表,就相当于是我们只要画错了就要扔掉重画,这样就增加了不必要的成本。

在 MySQL 中可以使用 ALTER TABLE 语句来改变原有表的结构,例如增加或删减列、更改原有列类型、重新命名列或表等。

1、MySQL常用命令

create

database

name;

创建数据库

use

databasename;

选择数据库

drop

database

name

直接删除数据库,不提醒

show

tables;

显示表

describe

tablename;

表的详细描述

select

中加上distinct去除重复字段

mysqladmin

drop

databasename

删除数据库前,有提示。

显示当前mysql版本和当前日期

select

version(),current_date;

2、修改mysql中root的密码:

shell>mysql

-u

root

-p

mysql>

update

user

set

password=password(”xueok654123″)

where

user='root';

mysql>

flush

privileges

//刷新数据库

mysql>use

dbname;

打开数据库:

mysql>show

databases;

显示所有数据库

mysql>show

tables;

显示数据库mysql中所有的表:先use

mysql;然后

mysql>describe

user;

显示表mysql数据库中user表的列信息);

3、grant

创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个

mysql>

grant

all

privileges

on

to

user@localhost

identified

by

'something'

with

增加新用户

格式:grant

select

on

数据库

to

用户名@登录主机

identified

by

“密码”

GRANT

ALL

PRIVILEGES

ON

TO

monty@localhost

IDENTIFIED

BY

'something'

WITH

GRANT

OPTION;

GRANT

ALL

PRIVILEGES

ON

TO

monty@”%”

IDENTIFIED

BY

'something'

WITH

GRANT

OPTION;

删除授权:

mysql>

revoke

all

privileges

on

from

root@”%”;

mysql>

delete

from

user

where

user=”root”

and

host=”%”;

mysql>

flush

privileges;

创建一个用户custom在特定客户端it363com登录,可访问特定数据库fangchandb

mysql

>grant

select,

insert,

update,

delete,

create,drop

on

fangchandb

to

custom@

it363com

identified

by

passwd'

重命名表:

mysql

>

alter

table

t1

rename

t2;

4、mysqldump

备份数据库

shell>

mysqldump

-h

host

-u

root

-p

dbname

>dbname_backupsql

恢复数据库

shell>

mysqladmin

-h

myhost

-u

root

-p

create

dbname

shell>

mysqldump

-h

host

-u

root

-p

dbname

mysqladmin

-u

root

-p

-d

databasename

>

asql

如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:

shell>

mysqladmin

-u

root

-p

-t

databasename

>

asql

那么如果我只想要数据,而不想要什么sql命令时,应该如何 *** 作呢?

mysqldump

-T/

phptest

driver

其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,/表示当前目录,即与mysqldump同一目录。如果不指定driver

表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为sql文件,包含建表执行。另一个为txt文件,只包含数据,且没有sql指令。

5、可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。可利用外壳程序键入重定向实用程序来完成这项工作。例如,如果在文件my_filesql

中存放有查

询,可如下执行这些查询:

例如,如果您想将建表语句提前写在sqltxt中:

mysql

>

mysql

-h

myhost

-u

root

-p

database



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3