特殊导入数据表的方法(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)
);
(列名).
索引:提高查询效率。
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》修改语句:
where 条件
update books set bName="网站编程",bPublishing="清华大学出版社",bAuthor="张三" where bId=93;
注意:set 关键词后 只写你需要更新的字段。
3》删除语句:
where 条件
delete from books where bId=93
4》查找
select * from 表名;
查找 所有 从 表
select 字段1,字段2,字段..... from 表名 [where]
方便php调用,所以要给表名,字段名起一个别名。
3 外键:
两张表:
user 用户表
order 订单表 与用户相关的订单信息。
1》如果删除用户表中的某个用户数据,
订单表中的用户订单数据就应该删掉,以保证数据的完整性
2》订单表当中不能随意插入记录(业务逻辑不允许)。
外键 就是解决删除,或修改用户记录的时候,
注意:
foreign key 外键 规则:
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] ]
)
拒绝对父表的更新或删除
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博客!
标签:set,必看,character,外键,数据表,key,MYSQL,table,alter From: https://blog.51cto.com/u_3135183/6443395