MySql笔记01

     用了两天的时间终于把MySql安装好了,还是很麻烦的,之所以没有选择直接安装,使用的是免安装版本,主要是想了解这个数据库的配置,这样以后就可以更好的了解它了。

    登录MySql:mysql –h localhost –P 3306 –u root –p  这样就可以直接登陆了。

一些常用的命令;

查看一些配置信息;

s

image

1:创建一个名为my_db的数据库;

create database mydb1;

2:创建一个使用gbk字符集的mydb2;

 create database mydb2 character set gbk;

<在data中有一个以数据库名为文件夹的,里面有个以db.opt的文件,里面就是字符集的编码>

3:创建一个使用utf8字符集,并带校对规则的mydb3数据库;<mysql中只能写成这样>

 create database mydb3 character set utf8 collate utf8_bin;

4:查看数据库

show databases;

image

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();

image

一:数据库中的数据类型:

char 和varchar类型:char(M)是规定固定大小的,varchar():可变长度;

binary和varbinray类型:两个表示的是二进制数据。binary(m)表示固定长度,如果数据的长度不足将在后面补””补齐,最终达到指定长度。

text类型:用于表示大文本数据,例如内容,评论等。

blob类型:是一种大二进制类型,保存图片,PDF文档。

ENUM类型:只能列举。

set类型:表示字符串对象,可以有零/多个;

bit类型:表示二进制数据。BIT(m);

时间的表示方法:

    image

二:表的操作;

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;

image

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
		 );

4:默认约束

     这里就是设置数据库中的一些默认值,

create table user(
		 id int primary key,
		 username varchar(50) not null,
		 grand float default 1,
		 job varchar(50) unique
		 );

image

设置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
		 );
原文地址:https://www.cnblogs.com/netxiaohui/p/5508520.html