Mysql数据库服务器
MYSQL数据库:数据库管理软件 服务器:就是一台电脑,安装相关的服务器软件,这些软件会监听不同的端口号,根据用户访问的端口号,提供不同的服务。
MYSQL的安装与卸载
- 卸载:
打开控制面板,删除软件;
删除mysql安装目录下的所有文件
删除mysql数据存放文件
删除注册表中mysql信息
- 安装:
运行安装程序,在启动配置之前,一路下一步,没有下一步的话直接finish 第一次finish之后启动服务器配置教程 第一个 include mysql bin directory to windoes path 第二个:端口号不要去修改,字符集要选择UTF8,密码不要忘记
MYSQL的SQL语句
SQL:Structure Query Language 结构化查询语言 DDL:数据定义语言:定义数据库,数据表它们的结构:creart(创建)drop(删除) alter(修改) DML:数据操纵语言:主要是用来操作数据 insert(插入) update(修改)delete(删除) DCL:数据控制语言:定义访问权限,取消访问权限,安全设置 grant DQL: 数据查询语言:select(查询) form子句 where子句
创建数据库
create database wy;
查看数据库
show databases;
默认数据库不能删除
修改数据库
alter database 数据库名字 character set 字符集
删除数据库
drop database 数据库名字;
切换数据库
use 数据库名称;
查看当前数据库
select database();
表的CRUD操作
创建表
create database 数据库的名字 create table 表名( 列名 列的类型 约束, 列名2 列的类型 约束, );
列的类型:
java sql
int int
char/string char/varchar
char:固定长度
varchar:可变长度
char(3):长度代表的是字符的个数
var(3):
列的约束:
主键约束:primary key
唯一约束:unique
非空约束:not null
创建表:
1.分析实体:学生
2.学生ID
3.姓名
4.性别
5.年龄
create table student(
sid int primary key,
sname varchar(31),
sex int, age int );
查看表:
show tables;
查看表的定义:
show create table student;
查看表结构:
desc studeng;
修改表:
添加列:
alter table 表名 add 列名 列的类型 列的约束; alter table student add chengji int not null;
修改列:
alter table student modify sex varchar(2);
修改列名:
alter table student change sex gender varchar(2);
删除列(drop)
alter table student drop chengji;
修改表名:
rename table student to haha;
修改表的字符集:
alter table hah character set gbk;
插入数据
insert into 表名(列名1,列名2,列名3)values(值1,值2,值3);
insert into student(sid,sname,sex,age)values(1,'zhangsan',1,23); 简单写法
insert into student values(1,'zhangsan',1,23);
查看表中数据
select*from student;
命令行下插入中文问题:insert into student values(11,'李四',1,24);
- 临时解决:set names gbk;
- 永久办法:修改my.ini配置(在mysql软件安装路径里)
- 暂停mysql的服务
- 在mysql安装路径中找到my.ini配置文件C:\Program Files\MySQL\MySQL Server 5.5
- 将57行的代码改成gbk
- 启动mysql服务
删除记录
delete from 表名[where 条件]
delete from student where sid=10;
delete from student;没有指定条件,会将表中数据全部删除
面试问题:delete和truncate删除数据有什么差别
delete:DML 一条一条删除表中的数据
truncate:DDL先删除表再重建表
如果数据比较少,delete比较高效
更新表记录
update表名 set 列名=列的值,列名2=列的值2 【where 条件】
update student set sname='李四' where sid=5;
update student set sname='李四',sex=0;
查询记录
selec[distinc][*][列名,列名2] form 表名 [where 条件]
distinct:去除重复的数据