初识MySql
Mysql的优势:运行速度快,使用成本低,容易使用,可移植性强,适用更多用户。
Mysql提供的标准字符集默认为Latin1。
以命令行方式连接MySql
语法:mysql -h 服务器主机地址 -u 用户表 -p 密码
如果是在本机操作,可省略-h参数
-p后面可以不写密码,按Enter键后输入密码,如果写密码,-p和密码间没有空格。
MySql操作数据库
创建数据库 语法:create database 数据库名;
查看数据库列表语法:Show databases;
选择数据库语法:USE 数据库名;
删除数据库语法:drop database 数据库名;
sql语言包括以下四个部分
DML(数据操作语言):主要增删改
DDL(数据定义语言):在数据库中创建或删除数据库对象等操作
DQL(数据查询语言):主要用来查询
DCL(数据控制语言):用来控制数据库组件的存取许可,存取权限等。
操作数据库表
创建表语法:create table 表名(字段1 数据类型… )[表类型] [表字符集] [注释];
如果使用的数据库名,表名或字段名等与保留字冲突时,需要使用撇号括起来``
创建表的时候,多字段之间用逗号隔开,最后一字段无须逗号
Mysql中常用的两种注释方式
单行注释:#…
多行注释:/*…*/
查看表语法:show tables;
查看表定义语法:describe 表名 ;或desc 表名;
删除表语法:drop table 表名;
数据类型
tinyint[(M)] 1字节
smallint[(M)] 2字节
mediumint[(M)] 3字节
int[(M)] 4字节
float[(M,D)] 4字节
double[(M,D)]8字节
decimal[(M[,D])]M+2字节
字符串类型
char[(M)] M字节
varchar[(M)] 可变长度
tinytext 0~255 微型文本串
text 0~65535 文本串
日期类型
date yyyy-mm-dd 年月日
datetime yy-mm-dd hh:mm:ss; 年月日时分秒
time hh:mm:ss; 时分秒
timestamp yyyymmddhhmmss;
year yyyy格式的年份
任何标点符号都可以用作日期部分之间的间隔符
字段约束
非空约束 not null
默认约束 default(版本原因可能有的default不能使用)
唯一约束 unique key
主键约束 primary key
外键约束 foreign key
自动增长 auto_increment
单字段主键 create table 表名(字段1 数据类型 primary key,…);
联合主键create table 表名(字段1,字段2,primary key(字段1,字段2));
字符集设置 charset=字符集名
常用的存储引擎
InnoDB,MyISAM
InnoDB:支持事务处理,外键,占用空间比MyISAM大,适合于需要事务处理,更新,删除频繁的场景
MyIASM:不支持事务和外键,占用空间比较小,访问速度快,适合于不需要事务处理,频繁查询的应用场景
Mysql查询系统帮助命令HELP(命令窗口下使用)。