主键:索引。就像书的目录页。
字符通常用 varchar
1.创建表格(脚本语言)
USE warehouse; // warehouse数据库名;使用一个数据库(把下面代码创建的表格存进warehouse这个数据库中)
CREATE TABLE tabulation( //tabulation表格名; 创建一个表格
name VARCHAR(20) ,//name列名;VARCHAR数据类型; 在表格里创建一列并命名规定列存入的数据类型
* VARCHAR(20) VARCHAR数据类型后必须规定长度
age INT ,
id INT
); 2.给表格插入数据
SELECT * FROM biaoge; //查询表格信息
SELECT age FROM biaoge; //查询表格age列信息
SELECT age,id FROM biaoge; //查询表格age列和id列信息
//条件查询
DELETE FROM tabulation WHERE age = 1; //删除age=1的一行信息
6.复制表
CREATE TABLE +新表格 AS SELECT * FROM +被复制的表格;
7.设置默认值 DEFAULT ''
设置不能为空 NOT NULL
#计算各部门平均工资
SELECT deptName , AVG (sal) FROM emp GROUP BY deptName;
#计算各部门工资总和
SELECT deptName 部门名称, SUM(sal) FROM emp GROUP BY deptName;
#计算各部门平均工资高于8000
SELECT deptName , AVG(sal) FROM emp GROUP BY deptName;
SELECT * FROM emp HAVING AVG(sal)>8000;
代码:
zyztoo VARCHAR(20) DEFAULT '门诊' COMMENT '病人在院状态:门诊,住院,出院,其他',//zyztoo 列名
例:创建一个学生成绩表,“姓名 年龄 数学 语文 英语”,插入10个学生信息,使用脚本。
USE tests; //调用tests数据库
CREATE TABLE stude( //创建一个学生成绩表格
name VARCHAR(20), //创建一个字符型的name列
age INT, //创建一个整型的age列
math INT, //创建一个整型的math列
china INT,
english INT
);
INSERT INTO stude(name,age,math,china,english) VALUES('li',16,85,80,65); //插入第一个学生信息
INSERT INTO stude(name,age,math,china,english) VALUES('li',16,85,80,65); //插入第二个学生信息
INSERT INTO stude(name,age,math,china,english) VALUES('li',16,85,80,65); //插入第三个学生信息
例2.创建一个图书表格,并用java集成开发工具调出图书信息。
//创建图书表格(在SQLyog Ultmate中完成)
USE tests; //使用数据库
CREATE TABLE bookmanager( //创建一个bookmanager图书表格
//创建列 命名 并 规定每列数据结构
u_id INT,
u_bookname VARCHAR(30),
u_price DOUBLE,
u_state INT
);
//插入图书信息
INSERT INTO bookmanager(u_id,u_bookname,u_price,u_state) VALUES(1,'Greeen',25,1);
INSERT INTO bookmanager(u_id,u_bookname,u_price,u_state) VALUES(2,'King',30,1);
INSERT INTO bookmanager(u_id,u_bookname,u_price,u_state) VALUES(3,'Queen',30,1);
SELECT * FROM bookmanager WHERE u_state=1;
//用java集成开发工具调出数据库中图书表格信息
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Books {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//连接数据库
Connection conection = DriverManager.getConnection("jdbc:mysql://127.0.0.1/tests", "root", "zhaolong"); //127.0.0.1 IP地址;tests 数据库;root 用户名;zhaolong 用户密码;
Statement statement = conection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM bookmanager WHERE u_state=1");
while(resultSet.next()){
System.out.println(resultSet.getString("u_bookname"));
}
}
}
字符通常用 varchar
1.创建表格(脚本语言)
USE warehouse; // warehouse数据库名;使用一个数据库(把下面代码创建的表格存进warehouse这个数据库中)
CREATE TABLE tabulation( //tabulation表格名; 创建一个表格
name VARCHAR(20) ,//name列名;VARCHAR数据类型; 在表格里创建一列并命名规定列存入的数据类型
* VARCHAR(20) VARCHAR数据类型后必须规定长度
age INT ,
id INT
); 2.给表格插入数据
INSERT INTO tabulation(u_age,u_id) VALUES(1,2); //给tabulation表格的age列和id列分别插入数据1,2
3.查询表格信息内容SELECT * FROM biaoge; //查询表格信息
SELECT age FROM biaoge; //查询表格age列信息
SELECT age,id FROM biaoge; //查询表格age列和id列信息
//条件查询
SELECT * FROM biaoge WHERE id=1; //查询id为1的该行的数据
4.修改表格数据UPDATE tabulation SET age = 19 WHERE id = 1; //tabulation表格名
5.删除表格数据DELETE FROM tabulation WHERE age = 1; //删除age=1的一行信息
6.复制表
CREATE TABLE +新表格 AS SELECT * FROM +被复制的表格;
7.设置默认值 DEFAULT ''
设置不能为空 NOT NULL
MySQL中注释 COMMENT / #单行注释/ /* */多行注释
8.分页查询
# limit 起始页,查几行;
SELECT * FROM fud LIMIT 3,6; # limit 起始页,查几行;
SELECT * FROM fud LIMIT 0,5; #第一页
SELECT * FROM fud LIMIT 5,5; #第二页
SELECT * FROM fud LIMIT 10,5; #第三页
SELECT * FROM fud LIMIT (n-1)*5,5; #第n页
9.顺序排列
# ORDER BY 列名 顺序关键字; (正序:asc 倒序:desc)
SELECT * FROM fud ORDER BY id DESC;
10.模糊查询
#where 列名 like ‘%李’; 查询名字最后一个字为李的学生英语成绩
# where 列名 like '李__'; 查询所有姓李并且名字为3个字的学生英语成绩
#计算各部门平均工资
SELECT deptName , AVG (sal) FROM emp GROUP BY deptName;
#计算各部门工资总和
SELECT deptName 部门名称, SUM(sal) FROM emp GROUP BY deptName;
#计算各部门平均工资高于8000
SELECT deptName , AVG(sal) FROM emp GROUP BY deptName;
SELECT * FROM emp HAVING AVG(sal)>8000;
代码:
zyztoo VARCHAR(20) DEFAULT '门诊' COMMENT '病人在院状态:门诊,住院,出院,其他',//zyztoo 列名
例:创建一个学生成绩表,“姓名 年龄 数学 语文 英语”,插入10个学生信息,使用脚本。
USE tests; //调用tests数据库
CREATE TABLE stude( //创建一个学生成绩表格
name VARCHAR(20), //创建一个字符型的name列
age INT, //创建一个整型的age列
math INT, //创建一个整型的math列
china INT,
english INT
);
INSERT INTO stude(name,age,math,china,english) VALUES('li',16,85,80,65); //插入第一个学生信息
INSERT INTO stude(name,age,math,china,english) VALUES('li',16,85,80,65); //插入第二个学生信息
INSERT INTO stude(name,age,math,china,english) VALUES('li',16,85,80,65); //插入第三个学生信息
例2.创建一个图书表格,并用java集成开发工具调出图书信息。
//创建图书表格(在SQLyog Ultmate中完成)
USE tests; //使用数据库
CREATE TABLE bookmanager( //创建一个bookmanager图书表格
//创建列 命名 并 规定每列数据结构
u_id INT,
u_bookname VARCHAR(30),
u_price DOUBLE,
u_state INT
);
//插入图书信息
INSERT INTO bookmanager(u_id,u_bookname,u_price,u_state) VALUES(1,'Greeen',25,1);
INSERT INTO bookmanager(u_id,u_bookname,u_price,u_state) VALUES(2,'King',30,1);
INSERT INTO bookmanager(u_id,u_bookname,u_price,u_state) VALUES(3,'Queen',30,1);
SELECT * FROM bookmanager WHERE u_state=1;
//用java集成开发工具调出数据库中图书表格信息
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Books {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//连接数据库
Connection conection = DriverManager.getConnection("jdbc:mysql://127.0.0.1/tests", "root", "zhaolong"); //127.0.0.1 IP地址;tests 数据库;root 用户名;zhaolong 用户密码;
Statement statement = conection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM bookmanager WHERE u_state=1");
while(resultSet.next()){
System.out.println(resultSet.getString("u_bookname"));
}
}
}