1增加字段
(1)增加一个字段
alter table 表名 add 新字段名 类型(长度)
ps:给s表增加一个字段:class_no charƖ)
alter table s add class_no charƖ)
(2)增加多个字段
alter table 表名 add (新字段名1 类型(长度),新字段名2 类型(长度),新字段名2 类型(长度))
alter table s add (class_no1 charƖ),class_no2 charƖ))
2删除字段
(1)删除一个字段
alter table 表名 drop 字段名
ps: alter table s drop class_no
(2)删除多个字段
alter table 表名 drop 字段名1,drop 字段名2
ps: alter table s drop class_no1,drop class_no2
3修改字段(修改字段宽度)
alter table 表名 modify column 字段名 类型(修改后的宽度)
ps: alter table s modify column sno charƘ)
4.增加主关键字
alter table 表名 add primary key(字段名)
alter table 表名 add constraint 约束名 primary key(字段名)
ps: alter table t1 add primary key(sno)
5.删除主关键字
alter table 表名 drop primary key
ps: alter table t1 drop primary key
6.增加外键约束
alter table 表名
add constraint 约束名1 foreign key(外键字段名) references 主表1(主键),
add constraint 约束名2 foreign key(外键字段名) references 主表2(主键),
ps:alter table sc1
add constraint sc1_fore1 foreign key(sno) references s(sno),
add constraint sc1_fore2 foreign key(cno) references c(cno)
7.删除外键约束
Ƒ)先删除外键
alter table 表名 drop foreign key 外键名
ps: alter table sc1 drop foreign key sc1_fore1,drop foreign key sc1_fore2
ƒ)再删除索引
alter table 表名 drop index 外键名
ps: alter table cs1 drop index sc1_fore2
8.删除表
drop table 表名
ps: drop table s
*1插入记录
Ƒ)插入一条完整记录
insert into 表名(字段名1.字段名2.....) values(值1,值2,值3......)
//字段名1,字段名2可省略
ps: insert into s values(‘st1’,‘张三1’‘女’,21,‘计算机’)
(2)插入一条部分字段的记录
insert into 表名(字段名1,字段名2,...) values(值1,值2,值3)
//字段名不能省略
插入数据
insert into 表名(字段名1.字段名2) values(值1,值2...)
(1)插入一条完整的记录(包括所有字段)
insert into 表名 values(值1,值2)
insert into s values()
(2插入部分字段)
insert into 表名(字段名) values (值)
修改数据 update set
update 表名 set 字段名=值,字段名=值 where 查询条件
删除记录 delete from
delete from 表名 删除所有表中数据
delete from 表名 where 条件
order by asc/desc limit /*limit限制*/
select distinct sno from sc distinct 将结果中的重复行去掉
加别名
select sno as 学号, sname as 姓名 from s as 学生表
%任意0个或多个字符
_任意一个字符
备份表中的数据到外部文件中:
select * from s into OUTFILE ";d:\;s.txt";
还原外部文件中的表数据:
load data infile ";d:\;s1.txt"; into table s (s表要存在, 结构与s表一致)
也可以用mysqlimport还原一个文件文件中的数据,但使用该命令,首先要在bin目录下,并且还原的目标数据库中必须创建一个与备份数据表结构一样的同名表。 (文本文件名必须要和还原的表名一致)如:
mysqlimport -uroot -p123456 test d:\;s.txt
备份数据库中的表:
mysqldump -uroot -p123456 test s > d:\;s.sql
还原数据库中的表:如还原到test1数据库中,还原的目标表不需要新建。
mysql -uroot -p123456 test1 < d:\;s.sql
备份数据库中指定的多个表
mysqldump -u username -ppassword -t 数据库名 --tables 表名1表名2 表名3 >d:\;s.sql
在还原的时候,必须在目标数据库中新建三个结构和表名1,表名2,表名3一样的表才能将数据恢复。
mysql -uroot -p123456 test1 < d:\;s.sql
mysql -uroot -p123456 test1 < d:\;s.sql
备份多个数据库:(备份一个数据库时,--databases可以省略)
mysqldump -uroot -p123456 --databases 数据库1 数据库2 >备份文件路径(sql文件)
如:mysqldump -uroot -p123456 --databases test test1>d:\;part.sql
(在目的数据库中,还原的目标表要存在,表名、结构和备份的数据表一致)
备份服务器的所有数据库:
mysqldump -uroot -p123456 --all-databases>备份文件路径(sql文件)
如:mysqldump -uroot -p123456 --all-databases>d:\;all.sql
还原一次备份的多个数据库:备份文件存放在f:\;mysql\;t.sql,备份时可以把原数据库删除
在bin下执行,登录 root 用户,然后执行:
mysql> source f:\;mysql\;t.sql
还原数据库:(也可以将备份的数据库表还原到指定数据库中)
mysql -uroot -p123456 新数据库名 < 数据库备份文件路径
如:mysql -uroot -p123456 test1 < d:\;test.sql
查询结果存到一个新表中:
create table s1(select * from s where ssex=';男';)
创建用户
create user ‘用户名’@‘主机名’ identified by ';密码';
PS:create user ';san';@';localhost'; identified by';123456';
授权
grant 权限
on 对象 (or *.*拥有所有的权限)
to 新用户名 with grant option
用户登录
mysql -h hostname|hospip-p port-u username-p
用户授权
grant 对象权限 on 对象名 to用户
grant 系统权限 to 用户
用户收权
revoke 系统权限 from用户
revoke 对象权限 on对象名 from用户
删除用户
drop user 用户名
delece from mysql.user where host=? and user=?