Win+R输入cmd进入DOS窗口(cls清屏)
进入数据库
先切换到mysql安装目录的bin下,再输入以下命令
mysql -u root -p 回车输入密码
查看数据库
show databases;
创建user数据库(user是数据库名称)
create database user;
创建db_test数据库,并且指定编码utf8
create database db_test character set utf8 collate utf8_general_ci;
创建db_test2数据库,并且指定编码GBK
create database db_test2 default character set gbk collate gbk_chinese_ci;
指定到创建的数据库(db_test是数据库名称)
use db_test;
退出数据库
exit; 或 quit; 或 \q;
查看数据库详细信息
status; 或 \s;
创建表
注:auto_increment 自动递增只能用于整形;not null 不能为空;primary key
unsigned 取值只能从0开始;
default 18 默认值是18;
zerofill 未达到规定位长度前面用零填充,如:
create table user(
id int auto_increment not null primary key,
name varchar(20),
age varchar(2),
num1 int unsigned,
num2 int default 18,
num3 int zerofill
);
创建关联表
主键表如下:
create table student(
sid int not null auto_increment,
name varchar(20) not null,
primary key(sid)
);
外键表如下:
(自动检查外键是否匹配,仅适用InnoDB)前面一个sid是score的字段后面一个是student的字段
create table score(
cid int not null auto_increment primary key,
score int,
sid int,
foreign key(sid) references student(sid)
);
查看数据库中的表
show tables;
查看表结构(user是表名称)
desc user;
删除数据表 (user是表名称)
drop table user;
删除建立的数据库 (db_test是数据库名称)
drop database db_test;
更改字符编码
进入 MySQL 文件夹找到 my.ini 并打开
将 [mysql] 的 default-character-set=latin1 和 [mysqld] 的 character-set-server=latin1 修改为
default-character-set=utf8 和 character-set-server=utf8
再 Win+R 输入 services.msc 重启 MySQL 服务
或者通过命令行修改
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
查看系统的字符集和排序方式的设定
show variables like 'character%';
show variables like 'collation_%';
查看数据库表编码及字段详细(user为表名称)
show create table user;
查看数据库表字段编码(user为表名称)
show full columns from user;
查看数据库编码(db_test为数据库名称)
show create database db_test;
修改数据库字符集(db_user是数据库名称)
alter database db_user default character set utf8 COLLATE utf8_general_ci;
修改数据库表字符集(t_user是表名称)
alter table t_user default character set utf8 collate utf8_general_ci;
修改数据库表的表名
alter table 原表名 rename as 新表名;
alter table user rename as teacher;
增加字段
alter table 表名 add 字段名 建表语句 [first | after 字段名];
alter table user add phone char(11) not null DEFAULT '00000000000' COMMENT '手机号码';
增加主键
alter table 表名 add primary key (字段名);
alter table student add primary key (sno);
增加外键
alter table 表名 add foreign key(字段名) references 表名(字段名);
alter table sc add foreign key(sno) references student(sno);
修改字段的数据类型
alter table 表名 modify 字段名 <建表语句> [first | after 字段名];
alter table user modify name varchar(50) not null default '张三' comment '姓名';
修改字段名和数据类型
alter table 表名 change 旧字段名 新字段名 <建表语句> [first | after 字段名];
alter table user change name1 name varchar(50);
修改字段默认值
alter table 表名 alter 字段名 set default '默认值';
alter table user alter name set default '学生姓名';
删除字段
alter table 表名 drop column 字段名;
alter table user drop column age;
删除主键
alter table 表名 drop primary key;
alter table user drop primary key;
删除外键约束
先查看数据库表编码及字段详细,如图:
第一个红框里面的 student_ibfk_2 才是外键的真正名称,删除的时候必须写外键真正名称才可以
alter table 表名 drop foreign key 外键的真正名称;
alter table student drop foreign key student_ibfk_2;
查看外键约束是否有效(1表示有效,0表示失效)
select @@FOREIGN_KEY_CHECKS;
设置外键约束失效
SET FOREIGN_KEY_CHECKS = 0;
设置外键约束生效
SET FOREIGN_KEY_CHECKS = 1;