MYSQL数据表操作经验 初学者必看
2014-01-21 14:17
423 查看
特殊导入数据表的方法(CMD命令):
D:\wamp\bin\mysql15.6.12\bin>mysql -uroot -p newpump < e:table.sql
以下是设置数据表里的内容编码:
临时解决字符编码问题:
永久解决字符编码问题:
mysql/mysql.ini
[client] 客户端该项配置
一、数据表操作:
1 创建表:
约束(索引):提高表的查询效率,
primary key --- 主索引 确保 通过主键可以查找到唯一的记录。
主索引:主索引,值不能重复,一张表当中只能有1个主键
[索引名称] primary key (列名称);
唯一索引:
[索引名称] unique key (字段);
注意:
唯一索引常用在不能重复的字段上,
[constrain 索引名称] primary | unique (列名).
索引:提高查询效率。
2 修改表结构:
1》 添加字段
alter table 表名称 add 列定义(uDate date)
2》删除字段:
alter table 表名称 drop 字段名称;
3》修改字段:该字段 必须存在。
alter table 表名称 change 旧字段的名称 新列定义;
注意:字段类型,索引 不做修改。
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 条件
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 外键的定义。
注意:操作外键时候,一定 主表中的记录更新或删除,引起从表中的记录的更新或删除。
谢谢关注websites博客!
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博客!
相关文章推荐
- mysql数据类型 初学者必看!
- C#访问和操作MYSQL数据库
- Mysql之binlog日志说明及利用binlog日志恢复数据操作记录
- MySQL对数据表的基本操作语句
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- 对mysql数据权限操作,默认的mysql数据库找不到
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- MySQL对数据的操作
- MYSQL跨服务器同步数据经验分享
- 提高mysql千万级大数据SQL查询优化30条经验
- MySQL之操作数据表二
- MySQL day1---初涉MySQL 基本操作 数据类型 约束
- Mysql一条sql语句实现数据去重操作
- mysql的基本操作(初学者)
- mysql 数据表中主键(primary key)的操作
- MySQL(一) 数据表数据库的基本操作
- mysql查询一天,查询一周,查询一个月的数据(mysql操作日期)
- mybatis mysql delete in操作只能删除第一条数据的方法
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- 史上最简单的 MySQL 教程(二十二)「数据的高级操作 之 更新 & 删除」