MYSQL数据表操作经验 初学者必看

特殊导入数据表的方法(CMD命令): 
D:\wamp\bin\mysql15.6.12\bin>mysql -uroot -p newpump < e:table.sql 
或者 用source命令
导入数据表之前设置数据表文件的编码(这里并不是设置数据表里的内容编码):
D:\wamp\bin\mysql15.6.12\bin>mysql -uroot -p --default-charcter-set=utf8 newpump < d:/newpump.sql

以下是设置数据表里的内容编码:
character_set_client     | utf8
character_set_connection | utf8
character_set_database   | utf8
character_set_filesystem | binary
character_set_results    | utf8
character_set_server     | utf8
character_set_system     | utf8
临时解决字符编码问题:
set character_set_client = gbk
set character_set_connection = gbk
set character_set_results = gbk
永久解决字符编码问题:
mysql/mysql.ini
[client] 客户端该项配置
default-character-set=gbk
一、 数据表操作:
1 创建表:
约束(索引):提高表的查询效率,
primary key --- 主索引 确保 通过主键可以查找到唯一的记录。
主索引:主索引,值不能重复,一张表当中只能有1个主键
[索引名称] primary key (列名称);
唯一索引:
[索引名称] unique key (字段);
create table demo(
id int(4) auto_increment,
name varchar(20),
pwd varchar(20),
primary key(id),
unique key(name)
);
注意:
唯一索引常用在不能重复的字段上,
create table demo(
id int(4) auto_increment,
name varchar(20),
pwd varchar(20),
primary key(id),
unique key(name)
);
[constrain 索引名称] primary | unique   (列名).
索引:提高查询效率。

2 修改表结构:
1》 添加字段
alter table 表名称 add 列定义(uDate date)
alter table users add uDate date;
insert into users(uName,uAge,uSex,uTel,uDate) values("aaa",15,"2","11111","2012-12-12");
2》删除字段:
alter table 表名称 drop 字段名称;
3》修改字段:该字段 必须存在。
     alter table 表名称 change 旧字段的名称 新列定义;
alter table users change uTel uPhone varchar(30);
   注意:字段类型,索引 不做修改。
4》修改表的名称
alter table 表名 rename 新名字;
5》删除表
drop table 表名称
注意:删除表 同时把记录都删掉了。
二、外键约束:
1 什么外键约束
   表与表之间关系,主次 依赖的关系 能够保证表和表之间完整性,
   是的表和表之间的关联性更强
   
2 表的记录操作语句:
增 删 改 查
1》增加语句:
insert into 表名称(字段1,字段2,.....)
              values(值1,值2,值....)
2》修改语句:
update 表名称 set 字段1=值1 ,字段2=值2,.... 
where 条件
update books set bName="网站编程",bPublishing="清华大学出版社",bAuthor="张三" where bId=93;
注意:set 关键词后 只写你需要更新的字段。
3》删除语句:
delete from 表名称   where 条件
delete from books where bId=93
4》查找
     select * from 表名;
     查找    所有 从  
     select 字段1,字段2,字段..... from 表名 [where] 
方便php调用,所以要给表名,字段名起一个别名。
      select 字段1 as 别名,字段2 as 别名..... from 表名 as 别名
 
3 外键:
两张表:
user 用户表
order 订单表 与用户相关的订单信息。
1》如果删除用户表中的某个用户数据,
  订单表中的用户订单数据就应该删掉,以保证数据的完整性
2》订单表当中不能随意插入记录(业务逻辑不允许)。
外键 就是解决删除,或修改用户记录的时候,
订单表同步做出删除或修改的。  
注意:
foreign key 外键 规则:
1》有外键约束的表 存储引擎 innodb   mysql 自带innodb
show create table 表名
ENGINE=InnoDB
2》外键表的两张表必须是有关系的,而且两张表 ,有索引关系
3》mysql 表外键的名称必须唯一。
数据库唯一,表名唯一,外建名唯一
4 创建外键约束:
1》格式:
create table 表名称(
列定义  
索引定义 
外键定义:
[constraint[约束名称]] foreign key[字段]
references [外键表名](外键字段1,外键字段2.....)
[on delete|on update [restrict|cascade|set null|no action] ]
)
restrict   拒绝对父表的更新或删除
cascade 父表更新或删除的时候,自动更新或删除子表中对应行。
set null 父表中更新或删除的时候,子表中的外键列 成为null
no action 不采取任何动作。

2》创建两表之间关联的关系:
alter tabl e 表名 add 外键的定义。
alter table `order` add foreign key(u_id) references user(id) on delete cascade   
注意:操作外键时候,一定 主表中的记录更新或删除,引起从表中的记录的更新或删除。


谢谢关注websites博客!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云尔Websites

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值