mysql 更改表 mysql更改表字段_mysql 更改表

mysql



DDL是(Data Definition Languages)数据定义语言的缩写

定义了不同的数据段、数据库、表、列、索引等数据库对象。常用的语句关键字主要包括create、drop、alter等

创建数据库

create database dbname

mysql> create database test1;mysql> create database test1 DEFAULT CHARACTER SET utf8;

创建默认gbk字符集的数据库可以用下面的sql:

mysql> create database yourdb DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

查看数据库

show databases;

mysql> show databases;

选择使用数据库

use dbname;

mysql> use test1;

查看数据表

show tables

mysql> show tables;

删除数据库

drop database dbname

mysql> drop database test1;

创建表

create table tablename (

column_name_1 column_type_1 constraints,

...

column_name_n column_type_n constraints)

例如:创建 emp 表

mysql> CREATE TABLE emp -> (id int unsigned not null auto_increment primary key, -> ename varchar(10) not null, -> address text not null, -> choose text not null, -> repairDate char(50) not null, -> dTime datetime not null, -> files text not null -> )ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

查看表的定义

desc tablename

describe tablename

mysql> desc emp;或mysql> describe emp;

查看详细

show create table tablename G;

mysql> show create table emp G;

删除表

drop table tablename

mysql> drop table emp;

修改表

alter table tabename modify[column] column_definition [first|after col_name]

修改emp表的ename字段定义,将varchar(10)改为 varchar(20)

mysql> alter table emp modify ename varchar(20);

增加字段 age,类型为int(3):

mysql> alter table emp add column age int(3);

更改表名

mysql> alter table emp rename emp1;

删除表字段 age

mysql> alter table emp drop column age;

字段改名, age 改为 age1

alter table emp change age age1 int(4);

change和modify都可以修改表的定义,不同的是change后面需要些两次列名,不方便,但是change的有优点是可以修改列名称,modify不可以。

修改字段排序

增加新字段birth类型是date 到ename后面

mysql> alter table emp add birth date after ename;

修改age到表的最前面

mysql> alter tabel emp modify age int(3) first;

清空表,并且ID重新排列

truncate tablename

mysql> truncate emp;

数据库编码




mysql 更改表 mysql更改表字段_mysql修改多个字段类型_02

mysql编码




查看mysql支持的编码有哪些

mysql> show character set;

查看数据库编码

mysql> use dataname;mysql> show variables like 'character_set_database';//或者mysql> show create database dataname;

修改数据库编码

mysql> alter database dataname character set utf8;

查看数据表编码

mysql> show create table tablename;

修改数据库表编码

该命令用于将表test的编码方式改为utf8;

mysql> ALTER TABLE `test` DEFAULT CHARACTER SET utf8;

修改字段编码

该命令用于将表test中name字段的编码方式改为utf8

mysql> ALTER TABLE `test` CHANGE `name` `name` VARCHAR(36) CHARACTER SET utf8 NOT NULL;

查看数据表所有字段编码

mysql> show full fields from tablename;

查看mysql中各种服务的编码

mysql> show variables like 'character%';+--------------------------+---------------------------------------------------------+| Variable_name | Value |+--------------------------+---------------------------------------------------------+| character_set_client | utf8 || character_set_connection | utf8 || character_set_database | utf8 || character_set_filesystem | binary || character_set_results | utf8 || character_set_server | utf8 || character_set_system | utf8 || character_sets_dir | /usr/local/mysql-5.7.13-osx10.11-x86_64/share/charsets/ |+--------------------------+---------------------------------------------------------+

说明:

character_set_client:客户端字符集character_set_connection:链接字符集character_set_database:数据库字符集character_set_filesystem:文件系统character_set_results:结果字符集character_set_server:服务器字符集character_set_system:mysql系统字符集

比如:设置character_set_server为utf8

set character_set_client=utf8;

数据库备份


备份数据库

mysqldump基本语法:

mysqldump -u username -p dbname table1 table2 ...-> BackupName.sql

其中:

  • dbname参数表示数据库的名称;
  • table1和table2参数表示需要备份的表的名称,为空则整个数据库备份;
  • BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。通常将数据库被分成一个后缀名为sql的文件;

使用root用户备份test数据库下的person表

mysqldump -uroot -p test person > D:backup.sql

备份多个数据库

语法:mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql

加上了--databases选项,然后后面跟多个数据库

mysqldump -u root -p --databases test mysql > D:backup.sql

utf8备份

mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql

数据库还原


mysql> mysql -h host -u root -p root < /path/to/insert.sql或者mysql> use dbname;mysql> source base_user_gbk.sql;

utf8还原

mysql -uroot -p --default-character-set=utf8 dbname < bak.sql

资料为本人入门经验总结,希望能帮到你们,如有不明白可关注我,欢迎共同探讨交流。

部分图片源于网络,如有侵权请联系删除!




mysql 更改表 mysql更改表字段_mysql修改多个字段类型_03

MSYQL