MySql是一个典型的关系型数据库
专业术语(数据库):
数据库(database):存储数据的仓库,简称为DB
数据库管理系统(database Manger System)DBMS:
数据库系统(database system)DBS : DB+DBMS
mysql的一些常规操作
show databases like pattern; # 显示当前所有的数据库
use dbName; # 进入到对应数据库中
show tables like pattern; # 显示当前数据库所有表
desc\describe tableName; # 描述表的结构
show columns from t_user; # 描述表的结构
select database(); # 显示当前所在的数据库
select now(); # 返回当前时间
select version(); # 返回当前数据库的版本信息
去IOE:
IBM
Oracle
EMC
常见MySql操作指令
show databases; //此命令返回当前DBS系统中所有数据库
use dbName; //表示进入到对应名称的数据库中去
show tables; //查看当前数据库下的所有表
select * from tableName; //表示查询tableName表的所有数据
sql(structured query language)结构化查询语言
创建和删除数据库:
create[database/table/index/function/cursor/view]名称
drop(删除) [database/table/index/function/cursor/view]名称
create database 数据库名称 [default charset = utf8]
drop database 数据库名称
创建表:
create table t_user(
字段1 类型 【约束条件】,
字段2 类型 【约束条件】,
字段1 类型 【约束条件】,
。。。。
字段n 类型 【约束条件】
)
create table t_user (
id int primary key,
username varchar(50),
age int
gender varchar(5)
);
MySql安装:
1、.msi (无需更改配置)
2、.zip压缩包的安装
1、官网下载zip包
2、解压压缩包(不要有中文,不要有特殊字符)
3、修改my.ini文件
4、修改my.ini
basedir = mysql的主目录
datadir = mysql的主目录\data
5、将mysql的bin配置到环境变量path中
6、使用管理员身份进入cmd,将路径切换MySQL的bin目录下来(很重要)
7、注册服务
mysqld install
8、启动服务
1、使用服务,手动启动
2、net start/stop/restart/status xxx(数据库名称)
9、进入数据库
mysql -u用户名称 -p用户密码
Linux安装:
| -- 源代码安装
| -- apt:
ubuntu : sudo apt/atp-get install mysql-sever mysql-client
MySQL登录:
mysql -u(user)用户名称 -p(pawssword)用户密码 -P(port)端口(默认端口是3306) -h(host)主机ip地址
MySQL退出:
Ctrl+C \ q \ esit \ quit
常见的MySQL操作命令:、
show database; //此命令返回当前DBS系统中所有数据库
use dbName; //表示进入到对应名称的数据库中去
show tables; //查看当前数据库下的所有表
desc / describe board; //查询一张已经存在表的结构
select * from tableName; //表示查询tableName表所有的数据
sql(strctured query language) //结构化查询语言
sql:
DDL(database definition language) :数据库定义语言
show create drop alter
DML(database Manipulation Language):数据库操作语言
CRUD(create Retrieve updata delete)
insert
update
delete
select---DQL(data query language)数据查询语言
DCL(database controll language):数据库控制语言
grant invoke
三个创建:数据库、表、view、index
四条语句:CRUD
五种约束:主键、外键、非空、唯一、默认值
创建数据库:
create [database/table/index/function/cursor/view] 名称
create database db_py1805 [default cahrset=utf8]
删除数据库:
drop [database/table/index/function/cursor/view] 名称
drop database db_py1805
修改数据库:
alter database
查看数据库的定义:
show create database
mysql的数据类型
整形:tinyint (一个字节)
smallint(两个字节)
mediumint(三个字节)
int(四个字节)
bigint(八个字节)
浮点型:float(四个字节)
double(八个字节)
decimal(10,5)做精确运算
文本型:char(length)
varchar(length)
text
二进制:binary
Blob
日期:year
month
day
time
date
datetime
timestamp 游标戳
枚举:enum()
表的常见操作:
表的创建:
create table tName(
field1 type codition primary key auto_increment,
gender varchar(5) not null
)default charset utf8 engine=innodb/mysime
查询表创建的信息:
show create table tname[/G]
对表的修改:
修改表名:
rename table oldTableName to newName;
alter table tableName rename to new TableName;
修改表的属性(字符集、引擎、。。。。):
alter table tableName charset=gbk;
alter table tableName engine=Myisam;
修改表的字段:
alter table TName change/modify/drop/add filed
增加一个新的字段:
alter table TName add newColumn condition 位置
alter table TName add 字段名 varcahr()
修改一个字段:
alter table tName change test vachar() default
修改一个字段类型:
alter table tName modify test varchar()
default 'hehe' aftr age;
删除一个字段:
alter table tName drop test;
面试题:1、说说你所知道的mysql的数据引擎有哪些?
2、innodb(高并发选这个)、myisam两个引擎的区别?
创建表:
create table 表名(
字段1 类型 [约束条件]
字段2 类型 [约束条件]
字段3 类型 [约束条件]
............
字段n 类型 [约束条件]
)
crrreate table t_user(
id int,
username varchar(50),
age int,
gender varchar(5)
)
insert插入语句:
insert into 表名(字段1,字段2,字段3...字段n) values(值1,值2,.......值n);
insert into t_user(id,username,age,gender) values(1,"zs",16,'nan');
create table t_user(
id int primary key auto_increment, //primary key表示主键,不能为空,不能重复
username varchar(50) not null, //不能为空
age int default 18,
gender varcahr(5)
)
配置MySQL的远程登录:
1、到MySQL数据库use mysql
2、查询user ==== select host,user from user;
3、修改root用户update user set host='%' where user='root';
4、修改/etc/mysql/mysql.conf.d/mysqld.cnf 找到43行将bind-address 注释掉
5、重启服务
CRUD:
insert into 表名 values(xxxxx);
insert into 表名(字段……) values(xxxxx);
grant语言的使用
grant all on db_py05.* to 'ljh'@'localhost' identified by 'ljhljh';
grant all on . to 'root'@'%' identified by '123456';
增删改查
CURD(C:create 增加 R:retrieve 查询 U:update 修改 D:delete 删除)
查询
select 字段1,字段2,……,字段n from tableName [where condition]
select * from tableName;
增加
insert into tabelName(字段1,字段2,……,字段n) values(值1,值2,……,值n);
insert into tabelName values(值1,值2,……,值n); # 必须写全
更新
update tableName set 字段1=新值,字段2=新值,字段3=新值 [where condition]
删除
delete from tableName [where condition]
truncate 删除 慎用
alter的操作
alter table t_user modify type text;
alter table t_user add type int;
alter table t_user drop type;
单表的条件查询:
关系运算符:> < >= <= = != <>
逻辑运算符:and(并且) or(或者) not
空和非空的判断: is null is not null
between and in not in
排序:order by field1 [asc | desc] [,field2 [asc | desc]]
分组:group by field [having condition]
分页:limit offset,pageSize;
编码问题
utf8
gbk
latin1
...............
校对集:
_bin: binary 区分大小写
_cs: 区分大小写
_ci: 忽略大小写
网友评论