1,创建库,create database 库名;
2查询所有库;showdatabases;
3, 使用库use 库名;
4;删除库;drop database 库名;
5,查看正在使用的库select database();
6,mysql数据库的数据类型;int整数,double小数,varchar字符,date日期.
7,创建表,create table 表名(id int,name varchar(20),age int,math double);
8,查看当前库下所有表;show tables;
9.查看表的结构;desc table 表名;
10;show create table 表名;查看创建表的语句;
11,创建一个与就表结构相同的表;create table 新表名 like 旧表名;
12,drop table 表名; drop table if exists 表名;
13.添加列(字符段)add; alter table 表名 add 字符段名 字符段类型;
14,修改字段名;change;alter table 表名 change 旧字段名 新字段名 旧字段类型;
15, 修改字段类型;modify;alter table 表名 modify 字段名 新字段类型;
16, 修改表名;rename table 旧表名 to 新表名;
17,查看库的编码格式;show variables like 'character%';
18,修改编码格式,set 名=所需要的格式;
19,给表中添加数据insert into;insert into 表名(字段1,...字段n) values(值1....值n);可以添加部分字段,也可以一次添加多套数据;
CREATE TABLE exam(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(30),math INT,english INT, chinese INT);
INSERT INTO exam(NAME,math,chinese,english)VALUES
('小毛',88,78,70),
('小邓',90,91,92),
('小江',65,66,98),
('小胡',88,77,66)
20,查询表select 字段 from 表名 (可以起别名) select 别名.字段名 '别名'' from 表名 别名;
21;基本条件查询;where;select 字段名 from 表名 where 条件;可以使用逻辑运算符&&,||,>,<等.
也可以使用and ,between 值1 and 值2;
SELECT id '编号',NAME '姓名',math '数学成绩',chinese '语文成绩',english '英语成绩' FROM exam WHERE math>80 AND chinese>80;
22,SELECT id '编号',NAME '姓名',math '数学成绩',chinese '语文成绩',english '英语成绩' FROM exam WHERE math>80 && english>80;23,
23 SELECT id '编号',NAME '姓名',math '数学成绩',chinese '语文成绩',english '英语成绩' FROM exam WHERE math BETWEEN 75 AND 90;
24; SELECT id '编号',NAME '姓名',math '数学成绩',chinese '语文成绩',english '英语成绩' FROM exam WHERE math IN(89,90,91);
25,SELECT COUNT(id) FROM exam ; 聚合函数查询;sum(字段名)求和;avg(字段名)求平均数 max(字段名)最大值 min(字段名)最小值 count(id)求数据记录次数;
SELECT COUNT(id) FROM exam ;
SELECT MAX(math) FROM exam ;
SELECT COUNT(math) FROM exam WHERE math>90;
SELECT COUNT(math+chinese+english) '总人数'FROM exam WHERE (math+english+chinese)>220;
SELECT SUM(math) FROM exam;
SELECT MIN(math) FROM exam;
26,分组查询group by要在where 后使用;select *from 表名 group by 字段名;l
SELECT *FROM exam GROUP BY math;
27,排序查询;ovder by;select *from 表名 ovder by desc降序 asc升序;
SELECT id '编号',NAME '姓名',math '数学成绩',chinese '语文成绩',english '英语成绩' ,(math+chinese+english)'总成绩'FROM exam ORDER BY (math+chinese+english) DESC;
28;分页查询limit;select *from 表名 limit 开始行数,每页显示的条数
SELECT *FROM exam LIMIT 0,3;
SELECT *FROM exam LIMIT 3,2;
SELECT *FROM exam LIMIT 5,4;
29,修改表数据update;update table 表名 字段名=值 where 条件;
UPDATE stu1 SET NAME="小强";
30,设置自增长主键及主表与字表之间建立联系;
30.1自增长主键;primary key auto_increment;
CREATE TABLE dept(id INT PRIMARY KEY AUTO_INCREMENT,daname VARCHAR(20),ioc VARCHAR(30));
30.2 ,建立联系;foreign key 字段名 references 关联主键的id;
CREATE TABLE dept(id INT PRIMARY KEY AUTO_INCREMENT,daname VARCHAR(20),ioc VARCHAR(30));
INSERT INTO dept(daname,ioc)VALUES ('人事部','一楼'),('财务部','二楼'),('技术部','一楼'),('设计部','二楼');
SELECT *FROM dept;
CREATE TABLE job(id INT PRIMARY KEY AUTO_INCREMENT,jname VARCHAR(25),description VARCHAR(24));
INSERT INTO job(jname,description)VALUES('经理','管理'),('主管','管理'),('组长','管理'),('技术员','设计');
SELECT *FROM job;
CREATE TABLE staff(id INT PRIMARY KEY AUTO_INCREMENT,ename VARCHAR(20),
job_id INT,
FOREIGN KEY (job_id)
REFERENCES job(id),
joindate DATE,salary DOUBLE,bouns DOUBLE,dept_id INT,
FOREIGN KEY (dept_id)
REFERENCES dept(id)
);
INSERT INTO staff(ename,salary,job_id,dept_id)VALUES("王五",25555,2,4);
SELECT *FROM staff;