启动:net start mysql
停止:net stop mysql
mysql 默认端口号3306
MYSQL 登录
mysql+参数
MYSQL退出
exit;
quit;
\q;
这三个选择其中一个都能退出MYSQL数据库。
MYSQL提示符
\D 完整的日期
\d 当前数据库
\h 服务器名称
\u 当前用户
连接客户端时通过参数指定:
mysql -u root -p passwd --prompt + 提示符
连接上客户端后,通过 prompt命令修改
prompt + 提示符。
连接认证基本语法:
Mysql.exe/mysql -h主机地址 -P端口 -u用户名 -p密码
退出:
断开与服务器的连接:通常Mysql提供的服务器数量有限,一旦客户端用完,建议就应该断开连接。
建议方式:使用SQL提供的指令
Exit; //exit带分号
\q; //quit缩写
Quit:
MYSQL 常用命令
显示当前服务器版本
select version();
显示当前日期
select now();
显示当前用户
select user();
查看警告信息
show warnings;
创建数据库:
create {database | schema } [if not exists] db_name [default] character set [=] 编码名字;
查看当前服务器下面的数据列表
show {databases | SCHEMAS}
[like 'pattern' | where expr]
修改数据库
alter {database | schema} [ab_name] [default] character set [=] charset_name
删除数据库
drop {database | schema} [if exists] db_name
时间类型 单位是字节
year 1 time 3 date 3 datetime 8 timestamp 4 (timestamp时间戳)
字符型
char 0-255字节
varchar 0-65535个字节
tinytext 2^8
text 2^16
mediumtext 2^24
longtext 2^32
enum('value','value') 枚举型 1个或者两个字节 enum就像是单选。
set('value','value') 1,2,,3,4。。。64个字节 最多64个字节。 set就像是多选
创建数据表
create table [if not exists] table_name(
column_name(列名称) data_type(数据类型),
...
)
查看数据表列表
show tables [from ab_name]
[like 'pattern' | where expr]
查看数据表的结构
show columns from 表名
desc 表名
这俩显示的内容相同。
插入记录
insert [into] 表名 [(列名,……)] values (val,……);
记录查找
select expr(表达式),…… from 表名;
表的约束
设置字段的时候放在值类型的后面。
null 字段可以为空
not null 字段禁止为空。
primary key
主键约束 ,每张表只能存在一个主键,主键保证记录的唯一性,所以说主键自动为not null 不能重复。
unique key 唯一约束
default 默认约束
foreign key 外键约束
自动增加
autu_increment
自动编号,且必须与主键组合使用。
默认情况下,起始值为1,每次增量为1。
外键约束。
要求:
1父表和子表必须使用相同的存储引擎,而禁止使用临时表。
2.数据表的存储引擎只能为 InnoDB
3.外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同,而字符的长度可以不同。
4外键列和参照列必须创建索引。如果外键列不存在索引的话,MYSQL讲自动创建索引。
编辑数据表的默认存储引擎:
在my.ini文件里。
mysql配置文件:default-stora-engine=INNODB
外键约束的参照操作
- CASCADE:从父表删除或者更新且自动删除或更新子表中的匹配行
- SET NULL:从父表删除或者更新行,并设置外键列为NULL。如果使用该选项,必须保证子表列没有指定的NOT NULL。
3.RESTRICT :拒绝对父表的删除或更新操作。
4.NOT ACTION :标准的SQL关键字,在MYSQL 中与RESTRICT相同。
表级约束与列级约束
列级约束既可以在列定义时声明,也可以在列定义后去添加声明。
表级约束只能在列定义后去声明。
修改数据表
添加单列:
alter table tbl_name add [column] col_name column_definition(字段的定义(包括值的定义和约束的定义)) [first |adter col_name]
添加多列:
不能添加位置关系,只能在最下方添加。
alter table tbl_name add [column] (col_name column_definition,……)
删除列
alter table tbl_name drop [colunm] col_name
添加 主键 约束
alter table tbl_name add [constraint [symbol]] primary key [index_type] (index_col_name,...)
添加唯一约束 alter table 表名 add unique (字段名);
添加外键约束:alter table 表名 add foreign key (字段名) reference_definition
添加/删除默认约束
alter table tbl_name alter 字段名 {set |drop}