MySQL学习(二)——SQL语句创建删除修改以及中文乱码问题

时间:2023-06-09 14:59:32

一、对数据库的操作

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;

方式三:

MySQL学习(二)——SQL语句创建删除修改以及中文乱码问题

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操作演示:

MySQL学习(二)——SQL语句创建删除修改以及中文乱码问题

Truncate操作演示:

MySQL学习(二)——SQL语句创建删除修改以及中文乱码问题

注意:delete删除,uid不会重置,而使用truncate操作,uid会重置(因为它删除了表结构,然后再创建一张一模一样的表,所以再次插入数据的数据的时候从1开始)