用了两天的时间终于把MySql安装好了,还是很麻烦的,之所以没有选择直接安装,使用的是免安装版本,主要是想了解这个数据库的配置,这样以后就可以更好的了解它了。
登录MySql:mysql –h localhost –P 3306 –u root –p 这样就可以直接登陆了。
一些常用的命令;
查看一些配置信息;
\s
1:创建一个名为my_db的数据库;
create database mydb1;
2:创建一个使用gbk字符集的mydb2;
create database mydb2 character set gbk;
<在data中有一个以数据库名为文件夹的,里面有个以db.opt的文件,里面就是字符集的编码>
3:创建一个使用utf8字符集,并带校对规则的mydb3数据库;
create database mydb3 character set utf8 collate utf8_bin;
4:查看数据库
show databases;
5:查看数据库的创建语句;
show create database mydb2;
6:修改数据库编码,将utf8---->gbk;
alter database mydb2 character set gbk;
7:删除数据库,<和sql server里面的是一样的,都是使用的是基本的sql语句。>
drop database mydb1;
8:选择数据库,进入某个数据库。
use mydb2;
想进入那个数据库直接进入就可以,不必要退出。
9:查看现在是进入那个数据库
select database();
一:数据库中的数据类型:
char 和varchar类型:char(M)是规定固定大小的,varchar():可变长度;
binary和varbinray类型:两个表示的是二进制数据。binary(m)表示固定长度,如果数据的长度不足将在后面补”\0”补齐,最终达到指定长度。
text类型:用于表示大文本数据,例如内容,评论等。
blob类型:是一种大二进制类型,保存图片,PDF文档。
ENUM类型:只能列举。
set类型:表示字符串对象,可以有零/多个;
bit类型:表示二进制数据。BIT(m);
时间的表示方法:
二:表的操作;
1:增加表<创建一个表employ>,这里可以设置字符集编码和调度规则。
create table employee( id int, name varchar(20), gender char(1), birthday date, entry_date date, job varchar(50), salay double, resume text );
这里注意每个字段后面都有逗号,最后一个没有,语句完了之后是以分号结尾的。
2:查看表是否创建成功。
查看表结构:
desc tabName;
查看当前所有表
show tables;
查看当前数据库表创建语句
show create table tabName;
3:修改表
增加一个image列
alter table employee add image blob;
修改job列,使其长度为60;之前为50;
alter table employee modify job varchar(60);
删除gender列
alter table employee drop gender;
表名改为user;
rename table employee to user;
修改表的字符集编码
alter table user character set utf8;
列名name修改为username
alter table user change name username varchar(20);
4:删除表
drop table tabName;
三:表的约束
1:主键约束
单行主键约束
create table user( id int primary key, name varchar(20), grade float );
这里的primary key就是对列id,将其设置是主键。
设置多个字段主键。
create table employee( sec_id int, image_id int, grade float, primary key(sec_id,image_id) );
2:不能为空。 面直接加个not null,
create table employee( sec_id int, image_id int, grade float not null, primary key(sec_id,image_id) );
3:唯一约束 加个unique;
create table user( id int primary key, username varchar(50) not null, grand float unique );
设置id为自增的,这里就是给其一个计数器,每一次重计数器中取值,每次都是不一样的。auto_increment;
create table user( id int primary key auto_increment, username varchar(50) not null, grand float default 1, job varchar(50) unique );