启用mysql服务: net start mysql
停止mysql服务: net stop mysql
登录mysql数据库: mysql -h主机地址 -u用户名 -p密码
数据库的基本操作
创建数据库: create databases 数据库名称;
查看数据库:show datebases;
修改数据库编码:alter database 数据库名称 default character set 编码方式 collate 编码方式_bin ;
删除数据库:drop database 数据库名称;
创建数据表:
1 create table 表名( 2 字段名 int primary key auto_increment, 3 字段名 2,数据类型[完整性约束条件], 4 ... 5 字段名 n,数据类型[完整性约束条件], 6 )engine=InnoDB,charset=utf8;
查看数据表:
1 show create table 表名 ; 或者 1 describe 表名 ; 简称为 1 desc 表名 ;
修改数据表:
修改表名:
1 alter table 旧表名 rename [to] 新表名 ;
修改字段名:
1 alter table 表名 change 旧字段名 新字段名 新数据类型 ;
修改字段数据类型:
1 alter table 表名 modify 字段名 数据类型 ;
添加字段语法:
1 alter table 表名 add 新字段名 数据类型 2 [约束条件] [FIRST|AFTER已存在的字段名]
删除字段语法:
alter table 表名 drop 字段名 ;
修改字段排列位置:
alter table 表名 modify 字段名1 数据类型 first|after 字段名2
删除数据表:
drop table 表名 ;
添加、更新、删除操作
添加数据
在表中添加数据
insert语句中指定所有字段名语法:
insert into 表名(字段名1,字段名2, ...) value(值1,值2, ...)
insert语句中不指定字段名语法:
insert into 表名 values(值1,值2, ...)
为表中的指定字段添加数据:
insert into 表名(字段名1,字段2, ...) values(值1,值2, ...)
insert语句的其它用法
为表中指定的字段或者全部字段添加数据:
insert into 表名 set 字段名1 = 值1 [,字段名2 = 值2, ...]
为表中同时添加多条记录:
insert into 表名 [(字段名1,字段名2, ...)] values(值1,值2, ...),(值1,值2, ...), ... (值1,值2, ...) ;
更新数据
更新表中的记录:
update 表名 set 字段名1 = 值1 [,字段名2 = 值2, ...] [where 条件表达式]
update更新部分数据:
select * from student where id = 1 ;
update更新全部数据
update student set grade = 80 ;
删除数据
删除数据有两种方法:
第一种:delete语句
删除表中的记录:
delete from 表名 [where 条件表达式]
第二种:truncate语句
truncate[table]表名:
<code class="hljs sql">truncate table student ;</code>
delete语句truncate语句的异同点
相同点:都能删除表中的所有数据的功能。
不同点:
delte语句:
delete语句是DML语句;
delete 语句后面可以跟where子句,通过指定where子句中的条件表达式只删除满足条件的记录;
delete语句删除表中所有记录后,再次向表中添加记录时,自动增加字段的值为删除时该字段的最大增加1;
使用delete语句时,每删除一条记录都会在日志中记录。
truncate语句:
truncate语句通常被认为是DDL语句;
truncate语句只能用于删除表中的所有记录;
truncate语句删除表中的数据后,再次向表中添加记录时,自动增加字段的默认初始值重新由1开始;
使用truncate语句时,不会在日志中记录删除的内容,因此truncate语句的执行效率比delete语句高。