mysql表/数据操作

Posted on Posted in mysql
Tips: 本文创建于2014年4月27日,已超过 2 年,内容或图片可能已经失效!

目录

数据库

数据

登录mysql
mysql -hlocalhost -P3306 -uroot -p

查询库

show databases;
show databases like 'mysql';
%:匹配任意长度的字符,包括空字符串
show databases like '%schema';
_:匹配任意一个字符
show databases like '_____';
反斜杠转义符转义下划线
show databases like '%\_schema';

创建数据库

创建数据库,字符集和校对规则,字符集与校对规则是相匹配的
charset/collate
create database db1 charset gbk collate gbk_chinese_ci;
查看创建数据库的信息
show create database mysql;
容错方式
create database if not exists db3;

修改数据库

alter database db1 charset=utf8;

删除数据库

drop database db2;

字符集和校对规则
查看数据库服务器支持的字符集
show character set;
查看字符集对应的校对规则
show collation like 'utf8%';
校对规则:是用于查询时比较和排序的。
命名方式:
字符集名_地区_ci|cs|bin
ci: 大小写不敏感
cs: 大小写敏感
bin: 以二进制码来比较字符

创建表

数据库没有存储引擎,存储引擎是数据表的
create table t1(
id int unsigned auto_increment primary key,
name varchar(32) unique key,
gender varchar(16),
class_name varchar(32)
)engine=innodb charset=utf8 comment='注释信息';

查看表

查看表的创建信息,查看表结构
show tables like 条件
show create table t1\G
desc t1;
show columns from t1;

修改表

alter table 表名 动作+内容,...
modify,修改字段定义内容

alter table t1
modify gender
varchar(32) not null default 'male'
after class_name;

alter table t1
change class_name classname varchar(16)
after gender;

alter table t1
add area varchar(32) charset gbk
after classname;

alter table t1 drop test;

alter table t1 rename t4;
rename table t1 to t10;

交换表名的技巧
rename table
t1 to tmp,
t10 to t1,
tmp to t10;

复制表结构,不复制数据
create table t2 like t1;
复制表结构和内容(会导致丢失主键索引)
create table 表名 select *|字段列表 from 旧表名;
create table t3 select * from t1
where gender='male' order by id desc limit 1;

删除表

drop table t10;

增加数据

insert into t1
(id,name,gender,classname,area)
values
(2,'zhao','male','tj'),
(3,'zhang','female','bj');


修改数据

update t1 set area=tj where id=1 limit 1;

替换数据,如果数据是存在的,就替换,否则就插入新数据
如果有冲突的数据,则先删除所有的冲突数据,然后再插入一条新数据。
replace into 表名 (字段列表) values (值列表);

删除数据

delete from t1; //清空表数据
delete from t1 where id=1;

清空数据表,工作方式是,先删除整个表,然后再重建表结构。
truncate t1;
表中如果有auto_increment自动增量字段,值会恢复到初始。

» 转载请注明来源:若我若鱼 » mysql表/数据操作

Leave a Reply

Your email address will not be published. Required fields are marked *

thirteen − nine =