通过DOS直接访问MySQL
MySQL -uroot -proot
通过MySQL Command Line Client访问MySQL
打开MySQL Command Line Client直接输入密码即可
MySQL服务的开启与关闭
- 视图方式:我的电脑-----右键管理-----服务与应用-----服务-----MySQL
- 命令方式
- 关闭服务:net stop mysql
- 开启服务:net start mysql
SQL语言
SQL:结构化查询语言
- DDL:(Data Definition Language)数据库定义语言,库操作
- DML:(Data Manipulation Language)数据操纵语言,表中数据的增删改
- DQL:数据查询语言
- DCL:数据库的权限管理
1、查询已经存在的数据库:show databases;
2、应用数据库:use 数据库名;
3、应用之后,查看此数据库下所有的表:show tables;
DDL库操作
- 创建数据库:create 数据库名;
- 创建带字符集的数据库(默认utf8):create database 库名 character set gbk;
- 删除数据库:drop database 数据库名;
- 修改数据库信息:alter database 库名 character set utf8;
- 查看库信息(查看字符集信息):show create database 库名;
对于表的操作
1、首先要应用(选择)数据库:use 库名;
- 创建表:
- create table 表名 ( 列名 数据类型(长度));
- create table 表名(
列名 数据类型(长度),
列名 数据类型(长度),
列名 数据类型(长度)
)
注:最后一个列时不需加逗号了
- 查看表信息:desc 表名;
- 删除表:drop table 表名 删除了表结构;
- 修改表:
- 增加一列:alter table 表名 add 列名 数据类型(长度);
- 修改已经存在列的名称:alter table change 原列名 新列名 数据类型(长度);
- 删除字段 :Alter table 表名 drop 列名;
- 重命名表的名称:
- alter table 原表名 rename 新表名;
- rename table 原表名 to 新表名;
DML表中数据操作
数据的增加
- insert into 表名 (字段1,字段2,字段3)values (值1,值2,值3);
- insert into 表名 values (值1,值2,值3);
注:前面罗列出字段名对应的情况下,后面的值按照前面的字段顺序插入;没有罗列出字段,后面的值按照表中默认的的字段插入
数据的删除
- delete from 表名; 全部删除,删除表中所有数据,慎用,一条一条进行删除,效率较慢
- truncate 表名; 全部删除,删除数据表,随后再创建一个空表
- delete from 表名 where 字段名=值; 常用条件删除
数据的修改
- updata 表名 set 字段1=值1,字段2=值2 where 字段=值; where中的条件一般为主键
DQL 查询
- select * from 表名;
- select * from 表名 where 字段=值;
- select 字段1,字段2,…from 表名 where 字段=值; 返回特定的字段
- 起别名as可以省略
- select age as ‘年龄’ from 表名 where 字段=值;
- select s.name,s.age from student as s where 字段=值;
drop、truncate、delete删除的用法
- 能删除表的结构:drop table 表名;简单来说就是去掉了整个表
- 没有删除表结构:
- truncate table 表名; 清空表内容,接着又创建一个新的表结构 总的来说就是删除内容保留了表结构
- delete from 表名;也是清空表内容,没有删除表结构,但是是一条一条的删除,相比truncate效率低
MySQL中的数据类型
- 数值类型 int
- 浮点类型 float double
- 字符串类型
- varchar 会根据实际的字符长度自动调整
- char 不会自动调整
- 日期类型
- date 年月日
- time 时分秒
- datetime 标椎日期类型 年月日时分秒 最大值是9999年12月31日 23:59:59 默认值null
- timestamp 时间戳 年月日时分秒 最大值是2037年12月31日 23:59:59 默认值当前系统时间
约束关键字
- primary key 主键约束 不能为空 不能重复
- auto_increment 主键自增长
- not null 非空
- default 默认值约束
- unique 唯一约束 null值可以重复
- foreign key 外键约束