启动数据库:
Mysql -uroot -proot (用户名,密码)
库(database)的操作:
查看所有的数据库。
Show databases;
创建数据库
Create database dbname;
创建数据库并指定编码
Create database dbname character set urf8;
Show variables like ‘character%’;(查看数据库的所有编码)
修改编码set character_set_client = gbk;(使用的客户端编码)
Set character_set_results = gbk;(结果集编码)
删除数据库
Drop database dbname;
Drop database if exists dbname;
修改数据库编码
Alter database dbname character set utf8;
使用数据库
Use dbname;
备份数据库
首先是退出数据库
Mysqldump -uroot -proot dbname > e:\dbname.sql
将dbname备份到e盘的dbname.slq中
恢复数据库
删除数据库 drop database if exists dbname;
创建数据库 create database dbname;
使用数据库 use dbname;
导入数据 source e:\mytest.sql
表的操作:
表的修改:
增加一个列(image)
Alter table tablename add image blob;
修改列
Alter table tablename modify job varchar(20);
修改表名
Rename table tablename to newtablename;
修改表的字符集
Alter table tablename character set utf8;
修改列名
Alter table tablename change column name username varchar(20);
查看所有表
Show tables;
查看表的创建语句
Show create table tablename;
查看表的结构
Desc tablename;
删除表
Drop table tablename;
二、语句:增删改查
创建表
Create table tablename(
Id int,
Name varchar(20)
);
Insert语句
Insert into tablename(id,name) values(1,’sensen’);
Update语句
Update tablename set salary = 1000 where name=’’;
Update tablename set salary = salary+1000 where name=’l%’;
Update tablename set salary=1000 where name=’l_’;
Delete语句
Delete from tablename where name=’’;
Delete from tablename(删除表中所有记录)
Truncate tablename(删除表再创建表)
Select语句
Select * from tablename;
select * from student where ;
select distinct english from student;(过滤表中重复数据。)
select name,chinese c,english e from student;(使用别名表示学生分数。)
select * from student where english between 80 and 90;(between…and…)
select * from student where math in(89,90,30);(in..)
6.模糊查询
select * from student where name like ‘李%’;(查询所有姓李的学生成绩。)
select * from student where name like ‘李_’;(查询所有姓李的,名字是两个字的学生成绩。)
7.order by子句
select * from student order by math;(默认是升序 asc)
select * from student order by math desc;降序
Count
select count(*) from student;
后面可以加上where条件查询
Max min
select max(chinese) from student;
select min(chinese) from student;
Sum
select sum(math) from student;
Avg
select avg(chinese) from student;
group by(归类)
select * from orders group by product;
主键的设置:
非空
Not null
唯一
unique
主键=非空+唯一
Primary key
主键,自增长
Primary key auto_increment
多表关联
一对一
多对一
在多的一方建立外键
多对多
需要创建中间表描述关系
中间表有两个字段都是外键参照两个表的主键列,同时这两列又是联合主键