-
登录
-
-
mysql -u root -p【密码模式】 通常默认密码是『123456』
-
修改访问密码:mysqladmin -u root password “password”
-
-
启动:
-
-
work目录下可直接运行:./mysqld_safe &
-
-
进入数据后操作:
-
-
show databases:查看当前数据库拥有的数据库名称;
-
use $database_name:切换到对应的数据库中;
-
show tables:查看当前数据库中拥有的数据表;
-
desc $table_name:查看对应的数据表结构;
-
-
创建数据库:
-
-
create database $database_name
-
-
创建数据表:
-
-
create table $mytable (name VARCHAR(20), sex CHAR(1), birth DATE, birthaddr VARCHAR(20));
-
create table $mytable(id int(4) primary key not null auto_increment, item varchar(128) not null ); #带自增id
-
-
插入数据:
-
-
insert into $mytable values (′abccs′, ′f′, ′1977-07-07′, ′china′);
-
-
查询数据库中所有表的名字:
-
-
select table_name from information_schema.tables where table_schema=“数据库名字"
-
-
删除数据表中的字段:
-
-
alter table `$table_name` drop column $删除的字段;
-
-
添加数据表中的字段:
-
-
alter table `$table_name` Add column $添加的字段 int not null default 0 AFTER `Regionid` (在哪个字段后面添加)
-
-
导出数据库数据文件的方法:
-
-
导出为csv文件:mysql -A $database_name -h 127.0.0.1 -uroot -p123456 -ss -e "SELECT * from $table_name limit 30000;" >$table_name.csv
-
导出为表结构 + 数据sql形式: mysqldump -uroot -pdbpasswd $dbname >db.sql;
-
-
导入csv到数据库中:
-
-
mysql -u用户名 -p密码 数据库名 --local-infile=1 -e "load data local infile '/home/hrd/sdata.csv' into table sdata fields terminated by ',' lines terminated by '\r\n';"
-
特别注意:
-
-
u用户名之间是没有空格的;
-
p与密码之间也没有空格。
-
sdata是表名,与csv文件/home/hrd/sdata.csv名称一致。
-
数据库就是sdata表所在的数据库。
-
fields terminated by ‘,’表示数据之间用“,”隔开,这是csv文件的特性。
-
lines terminated by ‘\r\n’表示每行数据以回车结束。
-
至此,文件导入成功。
-
-
-
给已有的数据表增加自增字段:
-
-
alter table $table_name add column id int auto_increment not null, add primary key(id);
-
-
调整mysql字段顺序的方法:
-
-
ALTER TABLE `$table_name` CHANGE `a3` `a3` VARCHAR(256) AFTER `q3`;
-
-
查看数据库最后修改时间:
-
-
select * from information_schema.TABLES where information_schema.TABLES.TABLE_SCHEMA = '表名' and information_schema.TABLES.TABLE_NAME = '表名'
-
-
查看本机数据库(所有表)最后修改时间:
-
-
SELECT TABLE_SCHEMA,TABLE_NAME,UPDATE_TIME FROM information_schema.tables order by UPDATE_TIME DESC;
-
-
查询数据表中有多少条记录:
-
-
select count($表中任意属性名) from $table_name;
-
-
更新数据记录:
-
-
update $table_name set a1 = "北京明天xx+,xx+℃~xx+℃,xx+." where q1 = "明日北京天气”;
-
-
数据删除:
-
-
delete from $table_name where q1=“大红袍”;
-
-
解决因数据删除,主键(id)不连续的问题:
-
-
如果是最后结果
-
-
删除数据表:
-
-
drop table $table_name
-
-
修改字段长度:
-
-
alter table 表名 modify column 字段名 类型;
-
-
从一个表查结果写入另一张表的操作办法:
-
-
INSERT INTO test_qd_domain_srcid_info SELECT * FROM qd_domain_srcid_info where domain="entity query”;
-
-
查询表结构的字段集合,且支持排除某个字段操作;
-
-
colums = select group_concat(`COLUMN_NAME` separator ',') from information_schema.`COLUMNS` where TABLE_SCHEMA='%s' and TABLE_NAME='%s' and COLUMN_NAME NOT IN ('%s’);
-
结合select,可以查询出来指定的列数据:
-
-
select $colums from $table_name;
-
-
-
查询表项名字:
-
-
SELECT column_name FROM information_schema.columns WHERE table_schema='your_db_name' AND table_name='your_tb_name’ ;
-
-
清空数据库中的所有数据:
-
-
delete from $table_name;
-
-
mysql数据库删除重复记录方法:
-
-
delete from $table_name where q1 in (select q1 from ( select q1 from $table_name group by q1 having count(q1)>1) a) and id not in ( select min(id) from (select min(id) as id from $table_name group by q1 having count(q1)>1 ) b);
-
-
left join、(inner)join、right join含义:参考
-
left join:以左表为主,“连接”右表与左表交集部分
-
select * from subject left join score on subject.id = score.id
-
- (inner)join:左表与右表交集部分
-
select * from subject join score on subject.id = score.id
-
-
-
right join:以右表为主,“连接”左表与左表交集部分
-
select * from subject right join score on subject.id = score.id
-
-
mysql数据库常用操作
于 2018-03-30 11:35:15 首次发布