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的速度要更快;