一、数据库的创建create database 数据库名称——数据库创建
show databases——查看所有数据库
create database 数据库名称
character set 编码集
collate 比较方式——为数据库指定字符集及字符比较方式。
show create database 数据库名——查看当前数据编码集
drop database 数据库名称——删除数据库
alter database 数据库名称
character set 编码集——修改数据库编码
use 数据库名称——切换数据库
select database();——查看当前正在使用数据库
二、数据表的创建create table 表名(列名 类型(长度),列名 类型(长度) ...)
character set 编码集——创建数据表
primary key——主键约束 不能为空、不能重复
unique——唯一约束
not null——非空
例如:create table users( id int primary key not null auto_increment, name varchar(40) unique not null, password varchar(40) not null, birthday date not null,);
desc 表名;——查看表结构
三、数据表的修改alter table 表名add 列名 类型(长度) 约束;——向已有数据表添加一列
alter table 表名 modify 列名 类型(长度) 约束;——改变已有数据表一列类型、长度
alter table 表名 change 旧列名 新列名 类型(长度) 约束;——改变已有数据表一列的名称
alter table 表名 drop 列名;——删除已有一列
rename table 旧表名 to 新表名; ——修改表名
alter table student character set utf8;——修改表的字符集
drop table 表名——数据表删除
* show tables;——查看当前数据 中所有表
四、对数据表中数据记录 进行 增删改查insert into 表名(列名,列名, .... ) values(值, 值, ....) ——向已有的数据表添加数据
* 值个数应该列个数相同,值顺序和列顺序相同,值类型和列字段类型匹配
* 其中的into 表名(列名,列名, .... )可以省略
* 插入数据时,字符串添加 单引号 '' —— 字符和日期型数据应包含在单引号中show variables like 'character%';——查看数据库相关编码集
* mysql有六处使用了字符集,分别为:client 、connection、database、results、server 、system。*
* 服务器端相关:database server system(永远无法修改 就是utf-8)
* 客户端相关 connection client results
* 解决插入乱码问题:将客户端相关三个编码集设置 gbkupdate 表名 set 列名=值,列名=值 where条件语句——数据表记录修改操作* 没有where语句,对所有数据行进行更新
delete from 表名 where 条件语句;——数据表记录通过delete语句进行删除
* 删除一个表所有记录 truncate 表名; 效果与 delete from 表名;
* truncate 删除记录后不可恢复的,不受事务管理,原理:先删除整个表,重新创建
* delete 可以被事务管理 ,在事务中删除数据可以回滚恢复,原理: 一行一行删除数据记录 * truncate 删除所有记录性能上 好于 deleteset names gbk; —— 快速设置客户端相关三个编码集 (临时设置当前窗口编码集)
select * from 表名;——查看当前表数据内容