1-03:基本的MySQL命令
mysql基本的语句
> mysql -u 用户名 -p //命令行连接Mysql;
> show databases; //显示当前所有的数据库名;
> show tables; //显示当前数据库中的所有表名;
> use 数据库名; //选择一个数据库;
选择语句
> select [字段名称] from [表名] [还有一些可选参数] [例如:limit,限制查询返回的行数];
> 如果字段名是\*符号,意思是查询表中的所有列;
可选参数
> 根据条件选择的行
> select name from 学生表 where 列名 = 'zhangsan';
> 这句代码的意思就是:查询学生表中name字段为zhangsan的所有数据,选择的是name列,name列有很多叫各种名字的学生,那么每一行代表一个学生,目的是返回当前name列中重名的学生有多少个,where就是条件,符合条件的则返回,返回name='zhangsan'的所有行,就是这意思;
> 条件参数可以使用比较运算符:
= > < !=/<> >= <=
> 等于 大于 小于 不等于 大于等于 小于等于
> select name from 学生表 where 列名 != '张三';
> 返回name不等于张三的所有学生名的行;
创建库:
> create database myDB; //这条语句就是创建了一个名为myDB的数据库;
> drop database myDB; //这条语句就是删除了一个名为myDB的数据库;
创建表:
> use myDB; //要先选择一个数据库;
> create table user(id int,user_name varchar(40),password varchar(60)); //创建一个名为user的表,其中有三个字段:id,user_name,password;
修改表名:
> rename table 原来的表名 to 新表名
删除表:
> drop tables 表名; //删除数据库中的一个表
删除视图:
> drop view 视图名;
查看表结构:
> desc 表名; //查看当前表中的所有字段
修改表中的字段:
> alter table 表名 change column 字段 修改后的字段 int(10); //修改一个字段
删除表中的字段:
> alter table user drop user_id;
在表中插入一个字段:
> alter table user add user_id int(32);
> 这个语句的后面有两个参数:first和after;
> first:插入在前面
> after:插入在后面
修改表的名字:
> alter table user rename user_table;
修改表中字段的值:
> alter table user modify 字段名 修改后的值; //这里改的不是字段储存的值,而是字段的类型,长度等值;
查看当前选择的数据库:
> select database();
显示Mysql的版本:
> select version();
显示当前时间:
> select new();
列的增删改
alter table 表名 add 列名 列类型 列属性...; //默认是在表的最后
alert table 表名 add 列名 列类型 列属性... after 列名;//添加一列到指定列的后面
alter table 表名 drop column 列名; //删除一个列
alter table 表名 change 列名 新列名 列类型 列属性...
alter table 表名 modify 列名 列类型 列属性...
change 和 modify 都是用来修改列的,change要求每次修改列都必须提供新列名,而modify则不需要;
查看建表过程
> show create table 表名;
查看建视图过程
> show create view 视图名;
查看当前库下的所有表的详细信息
> show table status;
- 可选参数\G
> show table status;
- 加上\G改变显示的方式,竖着显示;
- 可以使用where条件等;
show table status where name='users' \G;
/*Name: users
Engine: MyISAM
Version: 10
Row_format: Dynamic
Rows: 3
Avg_row_length: 48
Data_length: 144
Max_data_length: 281474976710655
Index_length: 1024
Data_free: 0
Auto_increment: NULL
Create_time: 2018-08-09 17:38:38
Update_time: 2018-08-09 17:42:49
Check_time: NULL
Collation: utf8mb4_unicode_ci
Checksum: NULL
Create_options:
Comment:*/
快速清空一张表
> delete from 表名; //删除数据,直接将当前表数据清空
> truncate from 表名; //删除表,瞬间重建
- 区别就在于,delete清空表之后,就跟人死了,虽然死了,但是你曾经来过这个世界,所以你在这个世界占着一个位置,虽然你已经不在了;
- 而truncate则是直接将这个地球毁灭,瞬间在弄一个地球,而这个新的地球,你从来都没有来过,你也从未占着一个位置;
- delete 和truncate 相比,truncate的速度要更快;