mysql日常操作
-- select语法:
SELECT select_list
FROM table_name
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC| DESC] ]
[limit m,n]
Group By 和 Having, Where ,Order by这些关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。
--update/delete语法:
UPDATE 表名称 SET 列名称 = 新值,列名称 = 新值 WHERE 列名称 = 某值
DELETE FROM 表名称 WHERE 列名称 = 值
--字段/索引语法:
删除字段: alter table table_name drop column_name
增加字段: alter table table_name add column_name type COMMENT '注释说明' after column_name
修改字段: alter table table_name change column_name_old [column_name_new] type COMMENT '注释说明'
重命名表: alter table table_name_old rename table_name_new
添加索引 :
alter table table_name add index/unique index_name(column_name1,column_name2...);
alter table table_name add PRIMARY KEY index_name(column_name1,column_name2...);
create index index_name on table_name(column_name1,column_name2...);
create unique index index_name on table_name(column_name1,column_name2...);
不能用CREATE INDEX语句创建PRIMARY KEY索引
CREATE TABLE table_name
(
id
bigint(20) unsigned NOT NULL AUTO_INCREMENT,
name
varchar(50) DEFAULT '' COMMENT '姓名',
sex
tinyint(4) default 0 COMMENT '性别0:未知;1:男;2女',
phone
varchar(11) DEFAULT NULL COMMENT '手机号',
birth
varchar(10) DEFAULT NULL COMMENT '生日,格式:1980-01-01',
idcard_no
varchar(18) NOT NULL DEFAULT '' COMMENT '身份证号',
create_time
datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '创建时间',
status
tinyint(4) NOT NULL DEFAULT '1' COMMENT '投保状态(1:投保中,2:保单成功,3:保单失败)',
policy_time
datetime DEFAULT NULL COMMENT '保单请求时间',
policy_info
text DEFAULT NULL COMMENT '保单产品详情',
PRIMARY KEY (id
),
UNIQUE KEY idx_name(uid
,time
),
KEY idx_name(uid
,time
),
) COMMENT='xx表' ENGINE=InnoDB DEFAULT CHARSET=utf8;
删除索引:
alter table table_name drop index index_name;
alter table table_name drop primary key;
DROP INDEX index_name ON talbe_name
导入导出
1.导出整个数据库
mysqldump -u用户名 -p密码 数据库名 > 导出的文件名
C:\Users\jack> mysqldump -uroot -pmysql sva_rec > e:\sva_rec.sql
2.导出一个表,包括表结构和数据
mysqldump -u用户名 -p 密码 数据库名 表名> 导出的文件名
C:\Users\jack> mysqldump -uroot -pmysql sva_rec date_rec_drv> e:\date_rec_drv.sql
3.导出一个数据库结构
C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec > e:\sva_rec.sql
4.导出一个表,只有表结构
mysqldump -u用户名 -p 密码 -d数据库名 表名> 导出的文件名
C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec date_rec_drv> e:\date_rec_drv.sql
5.导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:wcnc_db.sql
修改字符集: ALTER TABLE 表名 DEFAULT CHARACTER SET utf8;
通过mysql命令修改
修改数据库的字符集
mysql>use mydb
mysql>alter database mydb character set utf-8;
创建数据库指定数据库的字符集
mysql>create database mydb character set utf-8;
通过配置文件修改
修改/var/lib/mysql/mydb/db.opt
default-character-set=latin1default-collation=latin1_swedish_ci
为
default-character-set=utf8default-collation=utf8_general_ci
重起MySQL: