1. mysql安装环境
服务器+管理工具
2. mysql简介
DB2 Oracle SQL Server ManggoDB…….
环境
LAMPèLinux+apache+mysql+php
WAMP=>window+apache+mysql+php
3.
DDL:create dropalter
DML:insertupdate delete(增删改)
DQL:select(查询)
DCL:grant revoke
3. 进入mysql服务器
1) 通过管理工具(navicat)进入
2) 通过mysql命令行进入
输入密码进入:
Show databases;查询系统中现有的所有的数据库
3) 通过cmd命令进入
Cmd:命令=:mysql安装路径\bin\mysql –h localhost –u root –p回车
Enter password:xxxx
Mysql密码不能去查询
如果忘记密码只能通过命令去修改
使用sql语句建库建表
Show databases; 显示当前所拥有的所有数据库
1. 创建数据库
语法:create database 数据库名
推荐写上 if not exists避免报错
2. 删除数据库
Drop database 数据库名;
数值型:
整型
数据类型 | 含义 |
Tinyint | 1个字节(-128----127) |
Smallint | 2个字节(-32768----32767) |
Meddiumint | 3个字节(-8388608---8388607) |
Int | 4个字节(-214783648---214783647) |
Bigint | 8个字节 |
浮点类型:
数据类型 | 含义 |
Float | 单精度浮点型 8位精度(4个字节) |
Double | 双精度浮点型 16位精度(8个字节) |
Decimal(m,n) | 定点数 m:指定精度位数 n:指定小数位数 |
字符串类型
数据类型 | 含义 |
Char(m) | 固定长度的字符串 最多为255个字符 |
Varchar(m) | 可变长度的字符串 最多是65535个字符 |
Tinytext | 可变长度的字符串最多255个字符 |
Text(blob) | 可变长度的字符串 最多是65535个字符 |
Meddiumtext(Meddium blob) | 可变长度的字符串 最多是2的24次方-1个字符 |
Longtext | 可变长度的字符串 最多是2的32次方-1个字符 |
数据类型 |
|
Enum(“value1”,“value2”,。。。。) | 枚举:将该列可取的值列举出来。插入值时只能从这些值中选择一个 |
Set(“value”,”value1”,”value2”…..) | 集合:将该列可取的值列举出来,插入值时可从中选取一个或者多个 |
时间/日期类型
数据类型 | 含义 |
date | 日期‘2017-4-8’ |
Time | 时间 ‘14:44:54’ |
Datetime | 日期时间:‘2017-4-8 14:44:54’ |
Year | 年 |
Timestamp | ‘2017-4-8 14:44:54’ 时间戳 |
表中列的属性
1)unsigned 非负限定 只能放在数据类型之后 其他属性之前
2)default给列设置默认值 (在mysql中default不是一种约束,只是列的属性)
3)null(可以为空)\not null 是否限定为空
4)auto_increment 自增列的设置(mysql中的自增列可以自己输入)
5)zerofill 用0填充列值达到显示的宽度(只对数值型的列有作用)
数据的约束:
在sql server 中有主键约束 ,外键约束,检查约束,默认值约束,唯一约束
但在mysql中对于检查约束不是完全支持(列值如果是数字类型,则可以生效,其他情况不行),对于外键约束,要数据表的类型来界定。Mysql中的约束只有主键约束,外键约束,唯一约束
3. 创建表的语法
Create table 表名(
表字段 1 字段类型 该字段的一些属性
表字段2 字段类型 该字段的一些属性
表字段 3字段类型 该字段的一些属性
。。。。。。。。
)
Eg:create table stu1(
stuid int auto_increment primary key,
stuname varchar(20) not null,
stusex enum('男','女') not null ,
stutelvarchar(30) null
)auto_increment=1000
删除表的语法: drop table表名
单行插入数据
Insert into 表名 values(“值1“,“值2“,“值3“,“值4“。。。);
Insert into 表名(列名1,列名2,列名3)values(“值1“,“值2“,“值3“)
注意:若果没有指定要添加的列字段,表有几个字段对应插入几个值
若果指定了列字段,插入值时的顺序必须和指定的列字段顺序对应起来
多行插入数据
Insert into 表名 values
(“值1“,“值2“,“值3“,“值4“。。。),
(“值1“,“值2“,“值3“,“值4“。。。),
(“值1“,“值2“,“值3“,“值4“。。。);
Insert into 表名(列名1,列名2,列名3)values
(“值1“,“值2“,“值3“),
(“值1“,“值2“,“值3“),
(“值1“,“值2“,“值3“);
多行插入第二种方法
Insert into 表名
Select “值1“,”值2“,”值3“。。。。 union
Select “值1“,”值2“,”值3“。。。。 union
Select “值1“,”值2“,”值3“。。。。 union
Select “值1“,”值2“,”值3“。。。。
Insert into 表名(列名1,列名2,列名3)
Select “值1“,”值2“,”值3“ union
Select “值1“,”值2“,”值3“ union
Select “值1“,”值2“,”值3“ union
Select “值1“,”值2“,”值3“
Desc 表名===》查看表结构
Show create database 数据库名 ==》查看创建数据库时sql语句
Show create table 表名 ==》查看创建表时sql语句