MySQL学习(二)——SQL语句创建删除修改以及中文乱码问题
一、对数据库的操作
1、创建一个库
create database 库名;
创建带有编码的:create database 库名 character set 编码;
查看编码:show create database 库名;
2、删除一个库
drop database 库名;
3、使用库
use 库名;
4、查看当前正在操作的库
select database();
二、对数据库表的操作
1、创建一张表
create table 表名(
字段名 类型(长度) [约束],
字段名 类型(长度) [约束],
字段名 类型(长度) [约束]
);
2、查看数据库表
show tables;
查看表结构:desc 表名;
3、删除一张表
drop table 表名;
4、修改表
1)添加一列
alter table 表名 add 字段名 类型(长度) [约束];
eg. alter table user add uinfo varchar(32) not null;
2)修改列的类型(长度、约束)
alter table 表名 modify 要修改的字段名 类型(长度) [约束];
eg. alter table user modify uinfo varchar(64) null;
3)修改列的列名
alter table 表名 change 旧列名 新列名 类型(长度) [约束];
4)删除表的列
alter table 表名 drop 列名;
5)修改表名
rename table 表名 to 新表名
6)修改表的字符集
alter table 表名 character set 编码;
查看当前表的编码:show create table tbl_user;
三、对数据库表记录进行操作(修改)
1、插入记录
1)insert into 表名(列名1,列名2,列名3......) value(值1,值2,值3......);
eg. insert into tbl_user(uid,uname,upassword) value(null,'zhangsan','123');
查看记录:select * from 表名;
2)insert into 表名 value(值1,值2,值3......);
3)插入数据中文乱码问题解决办法
方式一:(不建议!)
直接修改数据库安装目录里面的my.ini文件第57行(在MySQL\MySQL Server 5.0目录下,若MySQL安装在C盘直接修改会拒绝访问,这时可以把my.ini文件剪切到其他盘,修改完之后再复制过来)
default-character-set=utf8
想让其生效,必须重新打开命令提示符,重启mysql(先net stop mysql 然后net start mysql 再登录)
方式二:
在命令提示符下输入mysql>set names gbk;
方式三:
2、修改表记录
1)不带条件的
update 表名 set 字段名=值,字段名=值,字段名=值......
它会将该列的所有记录都更改
2)带条件
update 表名 set 字段名=值,字段名=值,字段名=值......where 条件
3、删除表记录
1)带条件的
delete from 表名 where 条件;
注意,若删除uid=1的记录,删除后,uid不会重置
2)不带条件的
删除操作:delete from 表名;
3)面试题
delete与truncate的区别?
delete删除的时候是一条一条的删除记录,它配合事务,可以将删除的数据找回
truncate删除,它是将整个表摧毁,然后再创建一张一模一样的表。它删除的数据无法找回
Delete操作演示:
Truncate操作演示:
注意:delete删除,uid不会重置,而使用truncate操作,uid会重置(因为它删除了表结构,然后再创建一张一模一样的表,所以再次插入数据的数据的时候从1开始)