建立数据库
create database ff default character set utf8;
create database if not exists ff default charcter set utf8;
也可以在mysql-data文件夹里面直接新建文件夹也是建库的一种方式
数据库的名字建议使用—,见名知意,组合特殊或者关键字的可以使用鉴定符和反引号可以建立
删除数据库
drop database ff;
drop database if exists ff;
查询数据库
show create database db;//查询建库语句
show create database mysql;//查询建库语句
修改数据库字符集
alter database `bd` character set utf8;
修改数据库名字
简单的可以直接修改目录名,将数据库内容全部导出,新建一个数据库,将内容导入,然后删除旧的数据库
alter database db name
显示当前数据库名称
select database();
查询mysql数据当前的版本信息
select version();
InnoDB和MYISAM的区别是
InnoDB增加了事物功能,为sql默认的数据库存储引擎
MYSAM没有此功能
表操作
字段数据类型 , 先使用数据库 才可以建立表
use aa;
建立表
简单建表create table t3(t int);
create tables stu(
sno int unsigned auto_increment, //表示整型 自增
sname varchar(15) not null, // 名字最多为15个字符并且不能为空
sscore tinyint unsigned, //unsingned 表示无符号,只要是整型都要有的,不能为负数
primary key(sno) //主键的设置可以让sno的序列号不重复
)engine=MYISAM auto_increment=201501 default charset utf8;
comment '学生姓名'表示注释
CREATE TABLE abb(
ss INT UNSIGNED AUTO_INCREMENT ,
sname VARCHAR(15) NOT NULL COMMENT '学生姓名',
sage TINYINT UNSIGNED COMMENT '学生年龄',
PRIMARY KEY(ss)
)ENGINE=MYISAM AUTO_INCREMENT=20151 DEFAULT CHARSET utf8;
插入表格,编号定制为4位数,如果不够四位自动补上0 ZEROFILL表示自动补0
CREATE TABLE b(
ss INT(4) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT COMMENT'学生编号' ,
sname VARCHAR(15) NOT NULL COMMENT '学生姓名',
sage TINYINT UNSIGNED COMMENT '学生年龄',
PRIMARY KEY(ss)
)ENGINE=MYISAM AUTO_INCREMENT=1 DEFAULT CHARSET utf8;
CREATE TABLE st(
sno INT UNSIGNED AUTO_INCREMENT,
sname VARCHAR(15) NOT NULL,
ssocre TINYINT UNSIGNED,
PRIMARY KEY(sno)
)ENGINE=MYISAM AUTO_INCREMENT=2 DEFAULT CHARSET utf8;
显示当前数据库所有表信息
show tables;
查找st表里面的内容
SELECT *FROM st;
删除表
drop table aa;
drop table aa,a1;
修改表名
rename table t1 to t2;
在aa数据库环境下跨库查询db数据库里面的stu表
use aa;
select*from db.stu;
修改表的引擎:
use aa;
alter table book enyine=innodb ;
查看表的结构
desc aa; ==describe;
插入数据
INSERT abb VALUE(NULL,'李四',90);
控制默认引擎的文件为
my.ini 是windows系统下的 my.cnf 是linux系统下的
my.ini windows 系统
[client]
port=3306
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
port=3306
character-set-server=utf8
default-storage-engine=MyISAM
加入此段代码可以让默认的字符集为utf8;
select user(); 当前用户
select curtime();当前时间
select curdate();当前的日期
--数据库注释语句单行注释 /*多行注释*/
mysqld --install 安装
net start mysql 开启服务
net stop mysql 停止服务
mysqld --remove 移除服务器
mysql -uroot 登陆mysql
E:mysqlin>mysql -uroot -p 登陆mysql
Enter password: 空直接敲回车
E:mysqlin>mysql -h localhost -u root -p 登陆mysql
Enter password:
给表增加列
alter table st add score tinyint default 60;
删除列
alter table st drop score;
列添加到指定的位置
添加在第一个列
alter table st add tid int unsigned not null first
添加在tname后
alter table st add tid int unsigned default 60 after tname;
修改列的数据类型 只能由小改大,不能由大改小
alter table st modify score int unsigned;
约束条件
主键pk primary key(sid,sname);复合主键
唯一Uk unique key(sname); 姓名为唯一的,唯一不能为空
外键FK 一般有两个表 必须为innodb引擎
默认default
非空 not null
检查约束 ck check