mysql数据库快速入门

创建数据库:

格式:

    create database 数据库名;
    create database 数据库名 character set 字符集;

查看所有数据库:

show databases;

查看某个数据库的定义信息:

show create database 数据库名;

切换数据库:

use 数据库名;

删除数据库:

drop database 数据库名称;

创建表:

create table 表名(
字段名 类型(长度) [约束],
字段名 类型(长度) [约束],
   ...
);
如:
create table student(
  sid int,
  sname varchar(32)
)

重点:

varchar是可变长度字符串类型
而char是不可变长度字符串类型
如:
	char(10):可以存储10位的字符,如果存入aaa,那么char所占的长度还是10
		     而varchar会将长度改变为4
		     
	char存储比varchar要快

	总的来说就是varchar功能性强而char效率高

类型:
varchar(n) 字符串
int 整形
double 浮点
date 时间
timestamp 时间戳
查看数据库中的所有表:
格式:show tables;
查看表结构:
格式:desc 表名;
例如:desc sort;

修改表结构:

alter table 表名 add 列名 类型(长度) [约束]; 
作用:添加列. 

alter table 表名 modify 列名 类型(长度) [约束]; 
作用:修改表修改列的类型长度及约束.

alter table 表名 change 旧列名 新列名 类型(长度) [约束]; 
作用:修改列名.

alter table 表名 drop 列名;	
作用:删除列.

alter table 表名 rename to 新表名;
作用:修改表名

alter table 表名 character set 字符集;
作用:修改表的字符集

删除表:

格式:drop table 表名;

插入数据:

-- 向表中插入某些字段
insert into(字段1,字段2,字段3..) values  (1,2,3..); 
--向表中插入所有字段,字段的顺序为创建表时的顺序
insert intovalues (1,2,3..);

更新表记录:

--更新所有记录的指定字段
update 表名 set 字段名=,字段名=,...;
--更新符号条件记录的指定字段
update 表名 set 字段名=,字段名=,... where 条件;

删除记录:

delete from 表名 [where 条件];
或者
truncate table 表名;

重点:

delete和truncate的区别

删除方式:delete 一条一条删除,不清空auto_increment记录数。
truncate 直接将表删除,重新建表,auto_increment将置为零,从新开始。

条件查询

在这里插入图片描述
去除重复关键字:distinct

MYSQL数据类型

在这里插入图片描述

日期类型

在这里插入图片描述

字符串二进制文本类型:

在这里插入图片描述

DOS操作数据乱码解决:

查看MySQL内部设置的编码

show variables like 'character%'; 查看所有mysql的编码

修改client、connection、results的编码一致(GBK编码)
client connetion result 和客户端保持一致,都为GBK
将客户端编码修改为gbk.

方式1:单独设置

set character_set_client=gbk;
set character_set_connection=gbk;
set character_set_results=gbk;

方式2:快捷设置

set names gbk;

约束

添加主键约束

方式一:创建表时,在字段描述处,声明指定字段为主键:

CREATE TABLE Persons
(
Id_P int PRIMARY KEY,
--primary key设置主键 主键在该表中不能为空,
--不能重复,是一个条数据的唯一标识
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

方式二:创建表时,在constraint约束区域,声明指定字段为主键:

格式:[constraint 名称] primary key (字段列表)

关键字constraint可以省略,如果需要为主键命名,constraint不能省略,主键名称一般没用。
字段列表需要使用小括号括住,如果有多字段需要使用逗号分隔。声明两个以上字段为主键,我们称为联合主键。

CREATE TABLE Persons
(
FirstName varchar(255),
LastName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (FirstName,LastName)

CREATE TABLE Persons
(
FirstName varchar(255),
LastName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (FirstName)
)

方式三:创建表之后,通过修改表结构,声明指定字段为主键:

ALTER TABLE Persons ADD [CONSTRAINT 名称] PRIMARY KEY (字段列表)

CREATE TABLE Persons
(
FirstName varchar(255),
LastName varchar(255),
Address varchar(255),
City varchar(255)
)
ALTER TABLE Persons ADD PRIMARY KEY (FirstName)

删除主键约束

ALTER TABLE 表名 DROP PRIMARY KEY

自动增长列

CREATE TABLE Persons
(
P_Id int PRIMARY KEY AUTO_INCREMENT,
--自增长约束 添加时该列如果为空会自动给值 1 2 3···依次
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

默认地,AUTO_INCREMENT 的开始值是 1,如果希望修改起始值,请使用下列 SQL 语法:
ALTER TABLE Persons AUTO_INCREMENT=100

非空约束

方式一:创建表,下面的 SQL 语句强制 “Id_P” 列和 “LastName” 列不接受 NULL 值:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

方式二:修改表结构

添加非空约束 ALTER TABLE student MODIFY LastName varchar(255) NOT NULL
删除非空约束 ALTER TABLE student MODIFY LastName varchar(255) 

唯一约束

方式1:创建表时,在字段描述处,声明唯一:

CREATE TABLE Persons
(
Id_P int UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

方式2:创建表时,在约束区域,声明唯一:

CREATE TABLE Persons
(
Id_P int,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT 名称UNIQUE (Id_P)
)

方式3:创建表后,修改表结构,声明字段唯一:

ALTER TABLE Persons ADD [CONSTRAINT 名称] UNIQUE (Id_P)

删除唯一约束

ALTER TABLE Persons DROP INDEX名称
如果添加唯一约束时,没有设置约束名称,默认是当前字段的字段名。

默认约束

方式一: 创建表,字段处声明

CREATE TABLE Persons
(
Id_P int,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255) DEFAULT '北京',
City varchar(255)
)

方式二: 修改表结构

   ALTER TABLE Persons MODIFY Address VARCHAR(255) DEFAULT '北京' 
删除默认约束ALTER TABLE Persons MODIFY Address VARCHAR(255)

多表查询

内连接查询:

隐式内连接:select * from A,B where 条件;
显示内连接:select * from A inner join B on 条件;

左外连接查询:

select * from A left outer join B on 条件;

右外连接查询:

select * from A right outer join B on 条件;

From 表名 把数据从硬盘加载到内存中形成一张伪表
On 条件 根据on条件对伪表及其他表进行扫描拼接,拼接成一张完整的新伪表

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值