C:\ProgramData\Microsoft\Windows\Start Menu\Programs\MySQL\MySQL Server 5.5(mysql[c盘路径])
############################################################################################################
【SQL语句分类】
@DDL(数据定义语言 用于定义数据库对象:数据库,表,列等)–关键字:create 创建 alter 修改 drop 删除
@DML(数据操作语言 用于对数据库中的表数据进行增删改)–关键字:insert 添加 updata 修改 delete 删除
@DCL(数据控制语言 用于定义数据库的访问权限和安全级别,及创建用户)–关键字:grant 授权 revoke 取消
@TCL(事务控制语言 用于控制数据库的事务操作)–关键字:commit 提交 rollback 回滚 savepoint 保存点
@DQL(数据查询语言 <不属于MYSQL官方语言的分类>用于数据库的查询)–关键字:select 查询 from 从哪里开始 where 后面跟条件
############################################################################################################
ipconfig DOS命令查询本机ip
@新发现:
a).show variables like “character%”–<查看变量信息>
【数据库操作–DDL语句】(Data Definition Language)数据定义语言–用来定义数据库对象
[查看]
1).show databases;--(查看所有数据库)
2).select database();--(查看当前使用的数据库)
3).show create database 数据库名;--(查看某个数据库的定义信息)
[创建]
1).create database数据库名;–(创建一个数据库)
2).create database 数据库名 character set 字符集;–(创建数据库并指定字符集)
[删除]
4).drop database 数据库名;–(删除指定数据库)
[切换]
1).use 数据库名;(\u 数据库名)--(切换数据库)
【表操作–DDL语句】
[查看]
1).show tables;--(查看所有表)
2).desc 表名;--(查看指定表的内容)
3).show create table 表名;--(查看表的内容和引擎)
4).SHOW TABLE STATUS WHERE NAME= '表名'(查看表的详细信息,创建时间等)
[创建]
<一>在DOS里面:
1).create table 新表名 like 旧表名;--(创建一个新表内容和旧表一样)
2).create table 新表名(
->id int,
->name varchar(200),
->sex char(1),
->age int
);--(创建一个自定义内容的表格)
<二>在SQLyog里面:
CREATE TABLE student(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(6),
sex VARCHAR(1),
age INT,
jiguan VARCHAR(50),
QQ INT,
Emai VARCHAR(50)
);
[删除]
1).drop table 表名;--(删除指定的表)
[修改表]
1).ALTER TEABLE 表名 ADD 列名 类型;--(往指定表中添加一个新的字段)
2).alter table 表名 modify 列名 类型;--(修改指定表中指定的字段类型)
3).alter table 表名 change 旧列名 新列名 类型;--(将指定表中指定的旧列名改为新列名)
4).alter table 表名 drop 列名;--(删除指定表中指定的列名)
5).rename table 表名 to 新表名;--(将指定表名改为新表名)
【表操作–DML语句】(Data Manipulation Language)数据操作语言–用来对数据库中表的数据进行增删改
[添加记录]
1).insert into 表名 values (值1,值2,...值n)--(往指定表中添加值,没有的写null)
2).insert into 表名(列1,列2,...列n)values(值1,值2,...值n);--(指定的列添加指定的值,没有的值自动补null)
3).
<insert id="insertCategoryBrand" parameterType="java.util.List">
INSERT INTO tb_category_brand ( id,rentalInfoId)
<foreach collection="cids" open="VALUES" item="item" separator=",">
(#{item.id},#{item.rentalInfoId})
</foreach>
</insert>
collection: 这里为集合的参数名
open: 表示该语句以什么开始
item: 表示集合中每一个元素进行迭代时的别名
separator: 结束一个循环以什么分割
1.如果传入的是单参数且参数类型是一个List的时候,collection属性值为list
2.如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array
3.如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了,当然单参数也可以封装成map
————————————————
[修改记录]
1).update 表名 set 列名=值,列名=值 where 条件;--(将指定表中,指定条件的列名换值)
示例:UPDATE account SET balance = balance ‐ 500 WHERE id=1;(模拟张三给李四转钱)
[删除记录]
1).delete from 表名 where 条件;
2).delete from 表名 where id in(3,4,9);--这是根据id多个删除
[清空列表]
1).delete from 表名;--(逐条删除)---<比下面的慢>
2).truncate table 表名;--(先删除表文件,然后根据原表结构创建一个新表)---<比上面的快>
【表操作–DQL语句】(Data Query Language)数据查询语言
1).简单查询:查询表的所有记录
select * from 表名;
2).查询部分字段:
select 列名,列名....from 表名;
3).使用字段别名:
select 列名 as '别名',列名 '别名' from 表名;<注释:as可以省略>
4).去掉重复:
select distinct(列名) from 表名;
5).列计算:
select 列名 -2 from 表名;
关于乱码问题:
出现的问题:往表中添加值的时候出现编码错误.
解决:如果输入set names 'gbk';就可以解决这个问题,那可以去mysql的配置文件里面找到my.ini文件,
将[mysql]下的default-character-set=UTF8
改为default-character-set=GBK
就解决了每次往表中添加值的时候还要写set names 'gbk';的问题!!