2020-08-31

数据库的笔记

首先数据库是没有大小写的
	sql的分类:
		DDL:数据定义语言(用来定义数据库对象(数据库,数据表,列)):create,alter,drop等。
		DQL:数据查询语言(对数据库中的表进行查询):select,from,where等
		DCL:数据控制语言(对数据库进行定义访问权限和安全级别及创建用户):root
		DML:数据操作语言(用来对数据库中的表进行更新):update,insert,delete等
	sql语句的通用语法:
		1,不区分大小写;(但是建议关键字用大写,自己定义的标识符用小写)
		2,客户写单行,也可以写多行,结尾是用分号结尾的,
		3,可以使用空格或者是缩进增强可读性
		4,可以用/**/进行注释 -- 这个是单行注释
			varchar:是可变的数据类型,就是java中的字符串
  			注意:在数据库中的时间只有年月日,没有时分秒,但是在java中是有时分秒。
	 创建一个数据库:create database mysqldatabase;
		使用数据库:	 	USE mybase;
	 	显示数据库:  show databases;
	 	删除数据库:drop database mysqldatabase;
	 exit;  这个是退出数据库
	 在数据库里面是没有大括号的,只有中括号和小括号
	 	创建表:creat table 表名(
			列名1 数据类型,
			列名2 数据类型,
			列名3 数据类型
		);
		CREATE TABLE mybase(
	uid INT,
	uname VARCHAR(20),
	uaddress VARCHAR(20)
);
	 主键用于标识当前记录的字段,特点就是非空,唯一,
			drop table users;删除表
			设置主键约束有俩个方式,一个是uid int primary key auto_increment,(被设置的这个列是具有唯一性和非空性,而且他可以让所在的这个实现自动增长)一个是在结尾的时候去设置主键,
			show tables:显示库中所有的表
			desc  users:查看表的结构
接下来就是对表结构的修改:
		添加一个列:
		ALTER TABLE users ADD tel INT;
		修改列的数据类型
		ALTER TABLE users MODIFY tel VARCHAR(20);
		修改列名
		ALTER TABLE users CHANGE tel newtels DOUBLE;
		删除列名
		ALTER TABLE users DROP newtels;
		修改表名
		RENAME TABLE users TO newusers;
		修改表的字符编码
		ALTER TABLE users CHARACTER SET gdk;

		向表中的列添加数据(记住对应关系,就是数据类型和列的个数都是要对应的):
	INSERT INTO product(id,pname,price)VALUES(1,'笔记本',222);
	INSERT INTO product(id,pname,price)VALUES(2,'笔记本',222);
	insert  into prodcuct(pname,price)values('笔记本',222)这个是不用去写主键的
	insert into product  values(1,‘笔记本’,222)这个就是全部的列名就是全部给出
	insert into product (pname,price)values(‘笔记本’,222),(‘笔记本’,111)这个是批量写入
	其中如果你把里面的删除了,但是会出现断号的情况,这个是不影响的,就是你直接去添加即可,

在原有表的基础上去修改表的数据
update product set price=222 where id = 1;
update product set pname=‘笔记本’,price=22where id=2;这个修改俩个数据
这里面的条件的写法是有几个的:
   id<>2:表示的是id不是2 
   id<=3:表示的是id小于等于3
   java中        sql中
	  &&  			and
	  | |				or
	  !				not
	  eg:update product set price=1000 where id=1and id=2;
	  id in(1,3,4)包含
	  id not in(1,3,4)不包含

删除表中数据:
delete from product where id=1;这个是一条一条的去删,但是不会清空主键里面的记录数,就是如果主键里面是有7的但是你把7删掉,后面增的就是8不是7了,但是truncate就是直接将表删除,然后再去建一个一模一样的表,但是里面的主键是置零的,重新开始的

在命令行里面去解决乱码的问题就是set names gdk;(这个只是对当前的窗口是有效的,如果是永久的修改就是在那个源码里面去修改,但是不建议去修改)
		   
		
		
    
 
 












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值