接触mysql很多年了,期间记录了常用的一些命令和语句,分享在这里,供大家借鉴。

-- 备份数据库:
mysqldump -uroot -p******  --databases base1 base2> backup.sql
mysqldump -uroot -p****** base > base.sql
mysqldump -uroot -proot --databases db1 --tables a1 a2  >/tmp/db1.sql
-- 还原数据库 mysql -u root -p****** base< base.sql  -- 列出所有数据库: show databases; --选择数据库 use database; -- 查看数据库中的所有表 show tables; -- 查看建表语句 show create table 表名; -- 建立表 create table tablename (id int, user_mobile varchar(30), user_id varchar(30), user_name varchar(30), flag int, value int, red_use_period int, logdate varchar(30), logtime varchar(30)) default charset=utf8;-- 将数据导入表 load data local infile 'E:/log/query_result_20160620.csv' into table database.table fields terminated by ',' lines terminated by '\n'; 将表中的数据导出到外部文件 
'; 
-- 只修改列的数据类型的方法: 
alter table student modify column sname varchar(20);
--同时修改列名和列的数据类型的方法:
alter table student change column sname stuname varchar(20);

CREATE TABLE `table_name` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`aid` varchar(40) DEFAULT NULL,
`bid` varchar(40) DEFAULT NULL,
`cid` varchar(40) DEFAULT NULL,
`dt` varchar(20) DEFAULT NULL,
`create_time` datetime not NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ,
`update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `dt` (`dt`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

 

#split功能
select substring_index(name,'-',1),substring_index(name,'-',-1) from channels

 转:https://www.cnblogs.com/benbenzhu/p/5604598.html

/* 创建表格 */mysql> create table enum_set_table(
    -> id int auto_increment primary key,
    -> gender enum('M','F'),
    -> hobby set('music','movie','swimming','footbal')
    -> );
Query OK, 0 rows affected (0.01 sec)
/* 一个enum值,一个set值,二者均使用选项的字符串格式 */
mysql> insert into enum_set_table(id,gender,hobby) values(null,'M','music');
Query OK, 1 row affected (0.01 sec)
/* 一个enum值,多个set值,二者均使用选项的字符串格式 */
mysql> insert into enum_set_table(id,gender,hobby) values(null,'F','music,movie,footbal');
Query OK, 1 row affected (0.00 sec)
/* 一个enum值,一个set值,二者均使用选项的数字格式 */
mysql> insert into enum_set_table(id,gender,hobby) values(null,1,1);
Query OK, 1 row affected (0.00 sec)
/* 一个enum值,多个set值,二者均使用选项的数字格式,其中enum的值 2<=>'F',15=1+2+4+8 <=> 'music,movie,swimming,footbal' */
mysql> insert into enum_set_table(id,gender,hobby) values(null,2,15);
Query OK, 1 row affected (0.00 sec)
/* 一个enum值,多个set值,enum值使用选项的字符串格式,set值使用选项的数字格式,7=1+2+4 <=> 'music,movie,swimming' */
mysql> insert into enum_set_table(id,gender,hobby) values(null,'F',7);
Query OK, 1 row affected (0.01 sec)
/* 查询结果 */
mysql> select * from enum_set_table;
+----+--------+------------------------------+
| id | gender | hobby                        |
+----+--------+------------------------------+
|  1 | M      | music                        |
|  2 | F      | music,movie,footbal          |
|  3 | M      | music                        |
|  4 | F      | music,movie,swimming,footbal |
|  5 | F      | music,movie,swimming         |
+----+--------+------------------------------+
5 rows in set (0.00 sec)

 添加唯一键和外键约束

--单列唯一键约束
alter table tables add unique (tbName);
--联合唯一键约束
alter table columns add unique key(tbName,columnName);
--外键约束
--创建时先父表后子表,删除时先子表后父表
alter table columns add constraint FK_1 foreign key(tbName) references tables (tbName) on delete restrict on update restrict;

 查看和删除唯一键

--查看表的索引
show index from table_name;
--删除唯一键
alter table table_name drop index idx_name;
--创建索引
create unique index idx_name on table_name(column_name);

批量添加字段

--批量添加字段
ALTER TABLE custom
ADD contacts2 VARCHAR(50) NOT NULL DEFAULT '' COMMENT '客户2',
ADD phone2 VARCHAR(20) NOT NULL DEFAULT '' COMMENT '联系人2',
ADD other_contact2 VARCHAR(50) NOT NULL DEFAULT '' COMMENT '联系人2',
ADD contacts_position2 VARCHAR(50) NOT NULL DEFAULT '' COMMENT '职位';

 

相关文章: