mysql定义语言_MySQL数据定义语言(DDL),入门掌握这些足够了

d07a202d53ad92aec4cdf9cc1a043b2b.png

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> usetest1;

查看数据表

语法:show tables

mysql> showtables;

删除数据库

语法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 tablenamedescribe tablename

mysql> desc emp;或mysql> describe emp;

查看详细show create table tablename \G;

mysql> show create table emp \G;

删除表

drop table tablename

mysql> droptable 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

altertable emp change age age1 int(4);

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

修改字段排序

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

mysql> alter table emp add birth dateafter ename;

修改 age 到表的最前面

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

清空表,并且ID重新排列

truncate tablename

mysql> truncate emp;

数据库编码

查看mysql支持的编码有哪些

mysql> show characterset;

查看数据库编码

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

修改数据库编码

mysql> alter database dataname characterset 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%';

c64f8d40f2a449323375bd3f8aa67320.png

说明:

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值