mysql数据库表操作

1、文本文件导入数据库表
格式:mysql> load data local infile 'F:\2.txt' into table 表名 FIELDS TERMINATED By ',' ENCLOSED BY "'" LINES TERMINATED By '\r\n';
以逗号分割字段,以单引号标明字符,以'\r\n'表示记录行
例:mysql> load data local infile 'F:\2.txt' into table tt FIELDS TERMINATED By ',' ENCLOSED BY "'" LINES TERMINATED By '\r\n';
可以创建一个文本文件“2.txt”内容为:
1,'fnoewi','fneowif'
2,'ewfjpew','ewfewf'
3,'efjio',\N
对于空值,为了在你的文本文件中表示空内容,使用\N表示(反斜线,字母N,要大写N)。
2、数据插入表也可以用insert命令
INSERT INTO pet VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
3、修改表名
alter table t1 rename t2; 
4、显示指定数据库下所有表
show tables; 显示表
5、显示表结构
describe tablename;
show create table 查询建表时的语句 
6、select 中加上distinct去除重复字段
7、删除表、删除表中所有数据
drop table tablename;
delete from tablename;
8、创建表
create table s_position
      (
          id int not null auto_increment,
          name varchar(20) not null default '经理', #设定默认值
          description varchar(100),
          department_id int not null,
          position_id int not null,
          primary key PK_positon (id,name),   #设定复合主键
          unique (department_id,position_id)   #设定唯一值
      );    
create table staffer
      (
          id int not null auto_increment primary key,   #设定主键
          name varchar(20) not null default '无名氏',   #设定默认值
          department_id int not null,
          position_id int not null,
          unique (department_id,position_id)   #设定唯一值
      );
9、修改结构
    mysql>
    #表position增加列test
      alter table 表名称 add(字段名称 char(10));
    #表position修改列test默认值
      alter table 表名称 alter 字段名称 set default 'system';
    #表position去掉test默认值
      alter table 表名称 alter test drop default;
    #表depart_pos删除主键
      alter table 表名称 drop primary key;
    #表depart_pos增加主键
      alter table 表名称 add primary key PK_depart_pos (department_id,position_id);
    修改数据类型
      alter table 表名 modify 属性名 新数据类型;
    修改字段排列位置
      alter table 表名 modify 属性名1 数据类型 first|after 属性名2;
    修改字段名
      alter table 表名 change 旧属性名 新属性名 新数据类型 [完整性约束条件];
    新增字段
      alter table 表名 add 属性名1 数据类型 [完整性约束条件] [first|after 属性名2];新增的字段默认
    为表的最后一个字段,first表示排在字段最前面,after表示在该字段后面
alter table 表名 add 属性名1 数据类型 约束 first|after 属性名,add 属性名2 数据类型 约束 first|after 属性名
    删除字段
      alter table 表名 drop 属性名1,drop 属性名2;
    删除表的外键约束
      alter table 表名 drop foreign key 外键别名;
    删除表唯一约束
      alter table 表名 drop index 唯一约束名;
    增加唯一约束
    alter table 表名 add unique key 约束名(字段);
    更改表的存储引擎
      alter table 表名 engine=存储引擎名;
注意:修改数据类型前要desc查看原表设置的约束,然后修改时加上约束。外键必须是父表的主键。
10、表复制
1).复制表
CREATE TABLE 新表 SELECT * FROM 旧表
2).只复制表结构到新表
CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2; 即:让WHERE条件不成立.
方法二:(低版本的mysql不支持,mysql4.0.25 不支持,mysql5已经支持了)
CREATE TABLE 新表 LIKE 旧表
3).复制旧表的数据到新表(假设两个表结构一样)
INSERT INTO 新表 SELECT * FROM 旧表
4).复制旧表的数据到新表(假设两个表结构不一样)
INSERT INTO 新表(字段1,字段2,…….)
SELECT 字段1,字段2,…… FROM 旧表
11、创建临时表(数据库中不显示该临时表,断开和数据库的连接后该临时表不存在)
create temporary table temp_pet(name varchar(10));
create temporary table if not exists pet(name varchar(10)); --如果不存在该临时表,则创建该临时表
12、查询数据limit的使用
1)、limit(选出10到20条)<第一个记录集的编号是0>
 select * from students order by id limit 9,10;
2)、select * from table limit m,n;
其中m是指记录开始的index,从0开始,表示第一条记录n是指从第m+1条开始,取n条。
select * from tablename limit 2,4
即取出第3条至第6条,4条记录
13、查询  in在某个集合内 如(3,6,7) between..and...在某范围内
14、having是where之后再进行筛选,是对查询结果进行筛选
15、查询是否存在,外部字段放入内部  where not exists(select * from xx );
16、any关键字
表示满足其中任何一个条件。如:>any表示大于其中任何一个,=any表示等于其中任何一个。
例:select * from computer_stu where score>=any (select score from scholarship);
17、all关键字
表示满足所有条件才执行外层查询语句。
例:select * from computer_stu where score>=all (select score from scholarship);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值