mysql-基礎はこの編を見てすでに十分です
この文章は私ができるだけ全部书いて、この文章を见る友达を助けることができることを望んで~~~javaとmysqlデータベースを接続して一绪に见ることができます
一般的なタイプ:
データベースの作成:
追加削除変更(CDUR)増–C: 削除–D: 改–U: チャ–R:
where条件:
ページングlimit:
一般的な関数:
グループグループグループby:
並べ替え:
カスタム関数:
ストレージプロセスを実現するには、もう1つのテーブル
ストアド・プロシージャ:
フリップフロップ:以下のコードでsql文を追加すると学生表の
一般的なタイプ:
# ( )
# char varchar ?
CHAR(10) VARCHAR(30) TEXT
# char ,
# varchar , ,
# text , ( 、 )
# DB '' 。
#
INT
BIGINT
FLOAT
DOUBLE
DECIMAL(20,2) ( 20 , 2 )
#
DATE yyyy-MM-dd ( - - )
TIME HH:mm:ss:SSS ( : : : )
DATETIME yyyy-MM-dd HH:mm:ss:SSS
TIMESTAMP 1970-1-1
データベースの作成:
create database wei1273356078
作成したデータベースを使用する:use wei1273356078
データベース作成の詳細を表示:show create database wei1273356078
すべてのデータベースを表示:show databases
データベースの削除:drop database wei1273356078
表を作成:大整数bigint
、可変文字列varchar
、整数int
、日付date
、プライマリ・キーprimary key
、自己成長auto_increment
、説明comment
#
CREATE TABLE tb_student(
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT ' ',
stu_no VARCHAR(30) COMMENT ' ',
stu_name VARCHAR(30) COMMENT ' ',
stu_age INT COMMENT ' ',
stu_sex INT COMMENT '0 ;1 ',
stu_birthday DATE COMMENT ' '
) COMMENT ' ';
追加削除変更(CDUR)
insert into
# value values values
# value
INSERT INTO tb_student(stu_no,stu_name,stu_age,stu_sex,stu_birthday) VALUE
('001',' ',18,1,'2002-3-14');
# values
INSERT INTO tb_student(stu_no,stu_name,stu_age,stu_sex,stu_birthday) VALUES
('002',' ',21,0,'2012-6-14'),
('003',' ',24,1,'2021-5-11');
delete
# tb_student
DELETE FROM tb_student;
#
# delete ,
DELETE FROM tb_student WHERE stu_age < 22;
update
# ( )
UPDATE tb_student SET stu_age = 10;
# ( where 【 】)
UPDATE tu_sudent SET stu_age=12 WHERE id=2;
# set ,
UPDATE tb_student SET stu_birthday='2020-07-01',stu_name=' ' WHERE id=3;
select
一番柄が多くて毛皮もわかる# *
SELECT * FROM tb_student;
# all
SELECT id FROM tb_student;
# ID
SELECT DISTINCT id FROM tb_student;
# like
SELECT * FROM tb_student WHERE stu_name like '% ';
# _
SELECT * FROM tb_student WHERE stu_name LIKE '_ ';
where条件:
# and
SELECT * FROM tb_student WHERE id=1 AND stu_no='001';
# or
SELECT * FROM tb_student WHERE stu_age > 18 OR id=5;
# <> !=
SELECT * FROM tb_student WHERE id <>10;
# null is null is not null
SELECT * FROM tb_student WHERE stu_birthday IS NULL;
SELECT * FROM tb_student WHERE stu_birthday IS NOT NULL;
#
SELECT * FROM tb_student WHERE stu_age>=10 AND stu_age<=20;
SELECT * FROM tb_student WHERE stu_age BETWEEN 10 AND 20;
ページングlimit:
# LIMIT 0,3 0 , 3
SELECT * FROM tb_student LIMIT 0,3;
SELECT * FROM tb_student LIMIT 2,3;
一般的な関数:
# AS
# sum() avg() max() min() count()
#
SELECT SUM(stu_age) AS AGE_SUM FROM tb_student;
#
SELECT AVG(stu_age) AS AGE_AVG FROM tb_student;
#
SELECT COUNT(id) FROM tb_student;
#
SELECT ABS(-14);
#
SELECT LENGTH('adsfklj') AS char_size;
#
SELECT CONCAT('aa','bb','vv','cc');
# ( )
SELECT FORMAT(3.1415926,3);
#
SELECT CURRENT_DATE();
グループグループグループby:
#
SELECT id,AVG(stu_age) FROM tb_student GROUP BY stu_sex;
# as
#
SELECT stu_sex,SUM(stu_age) AS AGE_SUM FROM tb_student GROUP BY stu_sex;
# 50 ,having
SELECT stu_sex,SUM(stu_age) AS AGE_SUM FROM tb_student GROUP BY stu_sex HAVING AGE_SUM>50;
並べ替え:
# ASC( ) DESC( )
SELECT * FROM tb_student ORDER BY stu_age ASC;
SELECT * FROM tb_student ORDER BY stu_age DESC;
# , ,
SELECT * FROM tb_student ORDER BY stu_age ASC,stu_no DESC;
カスタム関数:
# ; $$
# , ;
DELIMITER $$
CREATE
#
FUNCTION `wei1273356078`.`func`()
#
RETURNS INT
#
BEGIN
#
DECLARE age INT;
#
SET age = 18;
#
RETURN age;
#
END$$
# $$
DELIMITER ;
#
SELECT func();
ストレージプロセスを実現するには、もう1つのテーブル
dt_user
を作成する必要があります.また、テーブルにはid
(自己成長)、name
およびpwd
の3列があります.タイプはid
はいint
のほか、すべてvarchar
です.効果を見るには、dt_user
表に内容を追加する必要があります.ストアド・プロシージャ:
# p_login
DROP PROCEDURE IF EXISTS `p_login`;
# $$
DELIMITER $$
#
CREATE PROCEDURE `p_login`
(
_name VARCHAR(20),
_pwd VARCHAR(20)
)
BEGIN
#
DECLARE _count INT;
# (mysql print, select)
SELECT COUNT(*) INTO _count FROM `dt_user` WHERE `name` = _name AND `pwd` = _pwd;
#
IF _count > 0 THEN
SELECT '' AS result;
ELSE
SELECT ' ' AS result;
END IF;
END;
$$
#
DELIMITER ;
#
CALL p_login('user1', '123');
# ,
# ' ',
フリップフロップ:以下のコードでsql文を追加すると学生表の
id
1の学生年齢に1が加算されますDELIMITER $$
CREATE
# BEFORE/AFTER /
# INSERT/UPDATE/DELETE
# , +1
TRIGGER `wei1273356078`.`tri_update_stucount` AFTER INSERT
ON `wei1273356078`.`tb_student`
FOR EACH ROW
BEGIN
UPDATE tb_student SET stu_age = stu_age+1 WHERE id=1;
END$$
DELIMITER ;
# sql
INSERT INTO tb_student(stu_no,stu_name,stu_age,stu_sex,stu_birthday) VALUE
('004','wei',15,0,'2020-3-14');
# id 1 , 。。