Mysql

1.在窗口登录mysql后,可执行 show databases可展示所有库

use 数据库名(使用数据库)

show table;(显示表)

describe 表名(显示表)

create database 库名;

exit(退出)

2.操作数据库

creat database 【if not exists】 名字(创建数据库)

drop database 名字(删除数据库)

use 数据库名(使用数据库)

show database 名字(查看库)

3.创建表

CREATE TABLE IF NOT EXISTS `student`(
    `id` INT(4) NOT NULL AUTO_INCREMENT(自增1) COMMENT(注释) '学号',
    `pwd` VARCHAR(20) NOT NULL DEFAULT(默认值) '123456' COMMENT '密码'
​
PRIMARY KEY('id')(设置主键)
​
)ENGINE=INNODB(引擎) DEFAULT CHARSET=utf8(默认字符编码)
SHOW CREATE TABLE student(查看创建表的代码)
DESC student(查看表的结构)
​
ALTER TABLE teacher RENAME AS teacher1(修改表名)
ALTER TABLE teacher1 ADD age INT(11)(增加属性)
​
ALTER TABLE teacher1 MODIFY age VARCHAR(11)(修改约束)
ALTER TABLE teacher1 CHANGE age age1 INT(11)(属性重命名)
​
ALTER TABLE teacher1 DROP age1(删除字段)

4.添加数据

​
INSERT INTO `student` (`id`,`pwd`) 
VALUES ('002','bbb'),('003','ccc')(添加数据)

5.修改数据

UPDATE `student` SET `pwd`='abc',sex='男' WHERE id=1(修改数据)

6.删除数据

DELETE FROM teacher1 WHERE id=1【删除数据】

TRUNCATE 'teacher1' 【更深的删除】

7.查询

select '字段' as 别名 from 表名
​
select concat('姓名',name) as 别名 from 表名
​
select distinct 'num' from result【去除重复数据】

8.模糊查询

利用like

select 'id' from 表名

where name like '陈%'【以陈开头】

select 'id' from 表名

where name like '陈_'【以陈开头,后面只有一位】

select 'name' from 'student'

where id in ('范围')

9.联表查询

select s.studentnum,name,num
from student as s【别名】
inner join result as r【另一个表的别名,相同的部分】
on s.studentnum=r.studentnum

10排序

select '字段' as 别名 from 表名
order by id asc【升序】 desc【降序】

11.分页

select '字段' as 别名 from 表名
order by id asc【升序】 desc【降序】
limit 10,5【起始为10,大小是5】

12.嵌套

select id,name
from Student
where id=(
	select id
    from result
)

13.常用函数

select abs(-8) 【绝对值】

select ceiling(数) 【向上取整】

select floor(数) 【向下取整】

select rand() 【返回一个0到1的随机数】

select sign(数) 【负数返回-1,正数返回1,0返回0】

select char_length('字符串')

select insert('字符串',起始,大小,内容)

select lower('字符串') 【小写字母】

select upper('字符串') 【大写字母】

select instr('字符串','a') 【返回出现a的位置】

select replace('字符串','出现的字符','新的字符')

select substr('字符串',起始,大小)

SELECT NOW() 【时间】

SELECT YEAR(NOW()) 【年】

SELECT MD5('eee') 【md5是用来加密的】

14.聚合函数

SELECT COUNT(id) FROM student 【计数,忽略NULL】

SELECT COUNT(1) FROM student 【计数,不忽略NULL】

SELECT COUNT(*) FROM student 【计数,不忽略NULL】

15.事务四个特性

1.原子性:要么全部执行,要么全部不执行

2.一致性:数据完整性保持稳定

3.隔离性:隔离

4.持久性:永久性

16.事务

set autocommit=0 【关闭自动提交】
start transaction 【事务开启】

内容

commit 【提交:持久化】

rollback 【回滚】

set autocommit=1 【开启自动提交】

savepoint 【设置保持点】
SET autocommit=0; 【关闭自动提交】

START TRANSACTION  【开启事务】

UPDATE ACCOUNT SET money=money-500 WHERE `name`='A'

UPDATE ACCOUNT SET money=money-500 WHERE `name`='B'

COMMIT; 【提交】
ROLLBACK;	【回滚】

SET autocommit=1;	【开启自动提交】

17.索引

create index 索引名 on 表(字段) 【创建索引,可以加快搜索】

18.创建用户

create user 名字 identified by '密码'

set password =password('密码')	 【修改当前用户密码】
set password for 用户=password('密码')			【修改指定用户密码】

rename user 旧名字 to 新名字

grant all privileges on 库.表 to 用户名		【给用户权限】

19.备份

利用cmd,导出文件

mysqldump -hlocalhost -uroot -p123456 school student >D:/a.sql

利用cmd,导入文件

先登录
source d:/a.sql

20.三大范式

第一范式:每一列不可在分

第二范式:每张表只描述一件事

第三范式:必须与主键直接相关

21.JDBC使用

package com01;

import java.sql.*;

public class jdbcTest {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
            //1.加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2.用户信息和url
            String url="jdbc:mysql://localhost:3306/school?								   useUnicode=true&characterEncoding=utf8&useSSL=false";
            String username="root";
            String password="123456";
            //3.连接   connection就是数据库对象
        Connection connection = DriverManager.getConnection(url, username, password);
        //4.执行SQL对象     statement是执行SQL对象
        Statement statement = connection.createStatement();
        //5.执行SQL
            String sql="SELECT * FROM student";

        ResultSet resultSet = statement.executeQuery(sql);//返回结果集

        while(resultSet.next())
        {
            System.out.println("id="+resultSet.getObject("id"));
            System.out.println("pwd="+resultSet.getObject("pwd"));
            System.out.println("==========");
        }
        //6.释放连接
        resultSet.close();
        statement.close();
        connection.close();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值