Mysql常用的命令行与数据库的常用操作方法

时间:2021-11-25

关于数据库的一些操作:

进入mysql 命令行: mysql -uroot –p

查看所有数据库: show databases;

创建数据库: create database wg charset utf8;

删除数据库: drop database wg;

选择数据库: use databases;

查看所有表: show tables;

查看创建数据库的语句:show create database databasename;

查看创建表的语句:show create table tablename;

查看表结构:desc tablename;

增:

mysql> use wg;

mysql> create table students( id int auto_increment primary key,name varchar(10) not null,sex varchar(12),address varchar(50),phone int not null unique);

#自增长 auto_increment

#非空 not null

#默认值 default ‘xx’

#唯一 unique

#指定字符集 charset

#主键 primary key

mysql> create table scores(id int auto_increment primary key,s_id int not null,grade float not null);

数据:

mysql> insert into student (id,name,sex,phone) values(122,’wg’,’男’,’110’);

mysql> insert into students values(111,’wg’,’121’,’dd’) ;

删:

mysql> drop table tablename;

mysql> truncate tablename; 快速删除表数据,自增长id从头在来,快速,从磁盘直接删除,不可恢复

mysql> delete from student; 删除整个表的数据,自增长继续

改:

mysql> alter table oldtable rename newtable; 改表名

MySQL查询语句

1. select_expr(查询字段)

    -- 可以用 * 表示所有字段。

        select * from tb;

    -- 可以使用表达式(计算公式、函数调用、字段也是个表达式)

        select stu, 29+25, now() from tb;

    -- 可以为每个列使用别名。适用于简化列标识,避免多个列标识符重复。

        - 使用 as 关键字,也可省略 as.

        select stu+10 as add10 from tb;

2.from(子句)

    用于标识查询来源。

    -- 可以为表起别名。使用as关键字。

        select * from tb1 as tt, tb2 as bb;

    -- from子句后,可以同时出现多个表。

        -- 多个表会横向叠加到一起,而数据会形成一个笛卡尔积。

        select * from tb1, tb2;

3. where 子句

    -- 从from获得的数据源中进行筛选。

    -- 整型1表示真,0表示假。

    -- 表达式由运算符和运算数组成。

        -- 运算数:变量(字段)、值、函数返回值

        -- 运算符:

            =, <=>, <>, !=, <=, <, >=, >, !, &&, ||, 

            in (not) null, (not) like, (not) in, (not) between and, is (not), and, or, not, xor

            is/is not 加上ture/false/unknown,检验某个值的真假

            <=>与<>功能相同,<=>可用于null比较

4.group by 子句, 分组子句

    group by 字段/别名 [排序方式]

    分组后会进行排序。升序:ASC,降序:DESC

5. having 子句,条件子句

    与 where 功能、用法相同,执行时机不同。

    where 在开始时执行检测数据,对原数据进行过滤。

    having 对筛选出的结果再次进行过滤。

    having 字段必须是查询出来的,where 字段必须是数据表存在的。

6.order by 子句,排序子句

    order by 排序字段/别名 排序方式 [,排序字段/别名 排序方式]...

    升序:ASC,降序:DESC

    支持多个字段的排序。

    收藏