window cmd :进入数据库
mysql -u root -p
插入数据设置客户端的字符集为gbk
set character_set_client=gbk;
设置结果集的字符集为gbk
set character_set_results=gbk ;
修改数据库mydb1的字符集为utf8
alter database mydb1 character set utf8 ;
创建数据库mydb1,字符集用gbk
create database mydb1 character set gbk ;
创建数据库
create database mydb ;
查看创建数据库的语句
show create database mydb ;
删除数据库
drop database mydb ;
查看所有的数据库
show databases ;
改变(使用)当前的数据库
use mydb ;
针对表的操作创建表t
create table t(
id int ,
name varchar(30)
) ;
查看创建表的源码
show create table t ;
创建表t1,使用字符集gbk
create table t1(
id int ,
name varchar(30)
)character set gbk ;
表约束
constraint sid_FK foreign key(sid) references stu(id);
insert into t4(id,name) values(1,’张无忌’) ;
修改多个字段
update t4 set id=6,name=’萧峰’ where id = 2 ;
删除
delete from t4 where id = 4 ;
删除所有的记录
delete from t4 ;
给表t4增加一个字段address
alter table t4 add address varchar(100) ;
删除字段address
alter table t4 drop column address ;
更改字段名
alter table stu change column sex gender varchar(2);
查看表的结构
desc t4 ;
查看数据库中所有表
show tables;
了解
查看数据库中所有的校对规则
show collation ;
查看中文的校验规则
show collation like ‘%gb%’ ;
创建数据库mydb2,字符集用gbk,校验规则用gbk_bin
create database mydb2 character set gbk collate gbk_bin ;
删除所有的记录
truncate table t4 ;//一次性删除,不是一条条删
时间函数:
select now() ;
模糊查询
select * from 表名 where 字段名 like 字段表达式
% 表示任意字符数
_ 表示任意的一个字符
[] 表示在某个区间
查询所有以张开头的人
select * from stu where name like ‘张%’ ;
查询姓名中含有张这个字的人
select * from stu where name like ‘%张%’ ;
查询姓名中含有张这个字的人并且姓名的长度是3个字的人
select * from stu where name like ‘张’ or name like ‘张’ or name like ‘张’ ;
创建引用约束
alter table score add constraint stu_score_FK foreign key(sid) references stu(id) ;
删除约束
alter table score drop foreign key stu_score_FK ;
引用约束
注意: 1. 添加记录时必须先添加主表中的记录,再添加子表中的记录
2. 不能更改主表中具有外键约束的记录的主键
3. 删除记录的时候不允许删除具有外键关系的主表中的记录(删除的顺序应当是先删除子表中的记录,然后删除主表中的记录)
数据备份
mysqldump -u root -psorry test>test.sql (不登陆数据库,直接在cmd中操作,后面没有;)
数据恢复(前提:创建数据库并选择该数据库)
source test.sql
创建一个学生表
create table stu
(
id int primary key, ##主键约束
name varchar(30) unique, ##唯一约束
sex char(2) not null, ##非空约束
age int check (age > 0 and age < 100), ##检查约束
address varchar(50) default ‘北京’ ##默认约束
) ;
insert into stu values(1,’张无忌’,’男’,20,’北京’) ;
insert into stu values(2,’小龙女’,’女’,18,’古墓’) ;
insert into stu values(3,’黄蓉’,’女’,15,’桃花岛’) ;
insert into stu values(4,’韦小宝’,’男’,24,’扬州’) ;
insert into stu values(5,’乔峰’,’男’,34,’雁门关’) ;
insert into stu values(6,’张果老’,’男’,30,’雁门关’) ;
insert into stu values(7,’老张’,’男’,38,’黒木崖’) ;
insert into stu values(8,’张’,’男’,34,’桃花岛’) ;
insert into stu values(9,’韦小宝’,’女’,24,’新东方’) ;
insert into stu(id,name,sex,age) values(10,’令狐冲’,’男’,27) ;
创建新表分数表
create table score
(
id int primary key,
sid int ,
china int,
english int ,
history int,
constraint sid_FK foreign key(sid) references stu(id)
) ;
constraint sid_FK foreign key(sid) references stu(id);
insert into score values(1,1,68,54,81) ;
insert into score values(2,3,89,98,90) ;
insert into score values(3,4,25,60,38) ;
insert into score values(4,6,70,75,59) ;
insert into score values(5,8,60,65,80) ;
查询表中有几种性别
select distinct sex from stu ;
查找姓名和性别整体都不同的记录
select distinct name,sex from stu ;
limit 从0开始