mysql 常用命令
启动:net start mysql
停止:net stop mysql
进入数据库:mysql -uroot 默认密码 mysql -p 无密码进入
SQL:语句分类
DDL:数据库定义语言(主要是对数据库表进行创建删除维护等)
DCL:数据可以操纵语言(控制数据库访问权限的)
重点:
DML:数据库操作语言(主要对表中的数据进行增删改)
关键字:insert(增加),delete(删除),update(修改)等
DQL:数据库查询语言(主要是对数据库的查询内容)
关键字:select(查询),from(从),where(条件)
关键字建议大写
不区分大小写
注释:-- */
mqsql经常使用到的数据类型:
int 整型
double 浮点型
varchar 字符串
date 日期类型,格式为yyyy-MM-dd 没有时分秒
DLL之操作数据库
增:create database 数据库名;
create database 数据库名 charset编码;
删:删除一个数据库
drop database 数据库名;
修:修改数据库名字很麻烦
修改数据库的编码
修改正在使用的数据库
use 数据库名
查:查询正在使用的数据库
select database();
查询所有的数据库
show database;
查询某一个数据的详细信息
show create database
DDL:对数据库的增删改查
增:create table 表名(字段名1 数据类型1 (长度)【约束】);
字段名2 数据类型2(长度) 【约束】
创建一个学生表(编号,年龄,姓名)
create table student (sid int primary key,
sname varchar(30),
age int);
删:删除表 drop table 表名;
查;查看表 desc 表名;查看一个表的详细信息
查看所有的表:show tables;
改:改名字 表名 :rename table student to srudents;
DDL:之修改表中的列
改:alter table 表名 add 列名 类型(长度)【约束】
删除一个列 : alter table 名称 drop 列;
查: des students;
改:修改列 名字,类型,列名,约束
该列名:alter table 表名 change 旧列名 新列名 类型(长度)约束
修改列的类型和约束:alter table students modify name varchar(50);
DML:数据库操作语言 主要是对表中的数据进行增删改
增:插入一条记录 :
insert into 表名 (列名1,列名2,)varlues(值1,值2)
注意:列名可以再表中选泽一列或者几列
后面的值必须和前面的列一一对应
在sql中除了int类型数据,其他数据必须用''或者""引起来
如果插入的数据所有字段都有,那么以上的(列名1,)可以省略
删除一条记录:delete from students;删除表中的所有记录 where条件
删除某一条记录 delete from where sid = 3;
改:修改表中的记录信息
update 表名 set 字段名 = 值;//把所有记录的该列都改了
update 表名 set 字段名= 值; where name=王五;//指定的任务改变
DQL:查询数据库的数据
基本格式:
select*from 表名;
基本信息查询:select【distinct】 * from product;//基本查询
select pname,price from product;//指定查询
select distinct price from product;//查重
带有条件的查询用关键字 where
三个知识点:1:介绍两个约束
主键约束:primary key 被逐渐约束的列必须有唯一,而且不能为空
自动增长约束:auto_increment 被自动增长约束的列,值可以不用管
2:删除表所有数据的两种方式(面试题)
delete from 表名; 删除表的所有数据,但是自动增长不会重置为1;
truncate table 表名; 删除表的所有数据,并且会删除表的自动增长值,先摧毁表,在重建表。
3:乱码问题
在dos查询utf8查询数据时,会出现乱码
有两种解决方法:
临时方案:set names gbk;//临时地把告诉数据库我们是用gbk来查询的;
例子:查询所有商品的价格:select * from product;
查询码商品名和商品价格:select 名称,价格 from product;
去掉价格重复:selectdistinct price from product;
查询结果是表达式:将所有的上品价格+10进行显示 :select price+10 from product;
查询商品名称为“花花公子”的商品所有信息:select*from product where pname =‘花花公子';
查询价格不是八百的商品:select*from product where price=800;
查询价格不是八百的所有商品:select*from product where price<>800;
查询商品大于60元的所有信息:select * from product where price>60;
查询商品价格是两百到一千之前的所有商品:select*from product where >=200 and price <=1000;
总结:DDL:操作数据库中对象,数据库表,列
***创建数据库 create database 数据库名//以默认的编码创建数据库
create database 数据库名 charset 编码名;
***创建表 create table 表名(字段1 数据类型 (长度)【约束】,
字段2 数据类型( 长度)【约束】)
约束:主键约束 primary key,该列的值必须唯一,而且不为空
自动增长约束:auto increment 该列值交给数据库维护
DML:操作数据库表中的数据,对数据进行增删改
***添加一条记录 insert into 表名(列名,列名2) values (值1,值2);
注意:列名和后面的值 必须一一对应
如果是全列名,可以省略不写
如果值是数字类型的可以不加''。
***删除一条记录 delete from 表名 删除表中所有数据
truncate table 表名; 删除表里所有数据,先把表摧毁在重建
***修改一条记录 update 表名 set 字段名 = 值; 表中所有记录的字段都被修改了
DQL:操作数据库表中数据,对数据进行查询
*** 基本查询:
格式:select *from 表名;
*** 条件查询
比较条件:> ,<,>=,<=,<>,= botween xx and xx (含头含尾)
模糊查询:like; '_a%' 第二个为a的商品
判断空或者不空:is null,is not null 判断空或者不空
逻辑条件:与 and
或 or
非 not
java萌新
欢迎指导并提出相应意见!