1、连接认证基本语法
mysql.exe -hlocalhost -p3306 -uroot -proot
mysql -uroot -p
Enter password:****(root)
2、退出
建议方式:使用sql提供的指令
Exit;//exit带分号
\q //quit缩写
Quit
3、创建数据库
基本语法:create database 数据库名字[库选项];
库选项:数据库的相关属性
字符集:charset字符集,代表着当前数据库下的所有表储存的数据默认指定的字符集(如果当前不指定,那么采用DBMS默认的)
校对集:collate
Create database 数据库名字 charset 字符集名称;
create database mydatabase charset gbk;
4、显示所有数据库
基本语法:showdatabases like '匹配模式';
_:匹配当前位置单个字符
%:匹配指定位置多个字符
获取以my开头的全部数据库:'my%';
获取m开头,后面第一个字母不确定,最后为database的数据库:'m_database';
获取以database结尾的数据库:'%database';
显示所有数据库
show databases;
查看以my开头的数据库
show databases like 'my%';
查看数据库创建语句
show create database mydatabase;
5、修改数据库
修改数据库字符集(库选项):字符集和校对集
基本语法:alter database 数据库名字 charset 字符集;
alter database mydatabase charset gbk;
是否可以修改数据库名字?mysql5.5之前是可以修改的,rename命令,但是5.5之后就不可以了
6、删除数据库
基本语法:drop database 数据库名称
drop database mydatabase;
删除虽简单,但是切记要做好安全操作,确保里面数据没有问题了
删除数据库之后:对应储存数据的文件夹也会被删除(opt文件也会被删除)
7、创建数据表
基本语法:create table 表名 (字段名 字段类型 [字段属性],字段名 字段类型 [字段属性]...)[表选项]
创建数据表
create table class(name varchar(10));
以上错误表明,表必须放在对应的数据库下,有俩种方式可以将表挂入到指定的数据库下
1、在数据表名字前面加上数据库名字,用"."连接即可:数据库.数据表
将数据表挂到数据库下
create table mydatabase2. class(name varchar(10));
2、在创建数据表之前先进入到某个具体的数据库即可:use 数据库名字
进入数据库,创建表
use mydatabase2;
create table mydatabase2. class(name varchar(10));
表选项:与数据库选项类似
Engine:存储引擎,mysql提供的具体存储数据的方式, 默认有一个innodb(5.5以前默认的是myisam)
Charset:字符集,只对当前自己表有效(级别比数据库高)
Collate:校对集
使用表选项
create table student(name varchar(10))charset utf8;
8、复制已有表结构
从已经存在的表复制一份(只复制结构,如果表中有数据不复制)
基本语法:create table 新表名 like 表名;//只要使用数据库.表名,就可以在任何数据库下访问其他 数据库的表名
在test数据库下创建一个与teacher一样的表
use test;
create table teacher like mydatabase2.teacher;
9、查看所有表
查看所有表
show tables;
10、匹配显示表
基本语法:show tables like '匹配模式';
查看匹配数据表
show tables like 'c%';
11、显示表结构
本质含义:显示表中所包含的字段信息(名字,类型,属性等)
Describe 表名
Desc 表名
show columns from 表名
显示表结构
describe class;
desc teacher;
show columns from student;
12、显示表创建语句
查看数据表创建时的语句:此语句看到的结果已经不是用户之前输入的
基本语法:show create table 表名;
show create table student;
mysql中有多种语句结束符
与\g所表示的效果是一样的,都是字段在上横排着,下面跟对应的数据,\G 字段在左侧竖着,数据在右侧竖着
show create table student\G
13、设置表属性
表属性指的就是表选项:engine,charest和collate
基本语法:alter table 表名 表选项 [=] 值
alter table student charset gbk;
注:如果数据库已经确定了,里面有很多数据了,不要轻易修改表选项()字符集影响不大
修改表结构
14、修改表名
基本语法:rename table 旧表名 to 新表名
数据库中数据表通常有前缀,取数据库的前俩个字母加上下划线
rename table student to my_student;
15、修改表选项
基本语法:alter table 表名 表选项 [=] 新值
alter table student charset gbk;
16、新增字段
基本语法:alter table 表名 add [column] 新字段名 列类型 [列属性] [位置first/after字段名]
给学生表添加一个age字段
alter table my_student add column age int;
字段位置:字段想要存放的位置
First:在某某之前(最前面),第一个 字段
After:字段名:放在某个具体的字段之后(默认的)
添加字段:放在第一个字段
alter table my_student add id int first
17、修改字段名
基本语法:alter table 表名 change 旧字段名 新字段名 字段类型 [列属性] [新位置]
修改字段名
alter table my_student change age nj int;
18、修改字段类型(属性)
基本语法:alter table 表名 modify 字段名 新类型 [新属性] [新位置]
修改字段类型
alter table my_student modify name varchar(20);
19、删除字段
基本语法:alter table 表名 drop 字段名
删除字段
alter table my_student drop nj;
删除表结构
基本语法:drop table 表名,[表名2....]可以同时删除多个数据表
删除表名
drop table class;
批量删除表名
drop table teacher,my_student;
一、数据基础操作-插入操作
本质含义:将数据以sql的形式存储到指定的数据表(字段)里面
基本语法:Insert into 表名 [(字段列表)] value(对应字段列表),向表中所有字段插入数据
insert into my_student (name,age) values("jake",30);
注:后面(values中)对应的值列表只需要与前面的字段列表相对应即可(不一定与表结构完全一致)
insert into my_student (age,name) values(49,"tom");
注:字段列表并不一定非要有所有的表中字段
insert into my_student (name) values("han");
基本语法:向表中所有字段插入数据 //值列表必须与字段列表一致
Insert into 表名 value (对应表结构)
insert into my_student values("lilei",28);
二、数据基础操作-查询操作
1、查询表中全部数据
基本语法:select * from 表名;//表示匹配所有的字段*
获取所有数据
select * from my_teacher;
2、查询表中部分字段
基本语法:select 字段列表 from 表名 //字段列表使用“,”隔开
获取指定字段
select name from my_teacher;
3、简单条件查询数据
基本语法:select 字段列表 / from 表名 where 字段名 = 值 //mysql中没有==符号*
获取年龄为30岁人的名字
select name from my_teacher where age = 30;
三、数据基础操作-删除操作
基本语法:delect from 表名 [where 条件];//如果没有where条件,意味着系统会自动删除该表所有数据(慎用)
删除年龄为30岁的老师
delete from my_teacher where age = 30;
四、数据基础操作-更新操作
更新:将数据进行修改(通常是修改部分字段数据)
基本语法:updata 表名 set 字段名 = 新值 [where 条件];如果没有where条件,那么所有的表中对应的那个字段都会被修改成统一值
更新年龄Han
updata my_teacher set age = 28 where name = 'Han';