首页 > 代码库 > mysql搭建以及基本命令

mysql搭建以及基本命令

一、mysql搭建过程

ubuntu上安装mysql

1、 sudo apt-get install mysql-server


2、sudo apt-get install mysql-client


3、sudo apt-get install libmysqlclient-dev


二、基本命令-----有关登陆、退出、添加数据库、添加表格、删除数据库、删除表格、显示数据库、显示表格等


1、登陆以及退出

mysql  -h host   -u username  -p password

例子:

mysql -h127.0.0.1  -uroot -p123456

技术分享


2、退出

quit或者是exit


3、显示当前数据库

show   databases;

技术分享


4、选择使用某个数据库:

use database_name;

例子:

use test:

技术分享


5、列出当前数据库所有表格

show tables;

技术分享


6、创建数据库:

create   databease  database_name;

技术分享


7、删除某个数据库

drop database  database_name;

技术分享



8、显示表格数据结构:

describe  table_name;

技术分享




9、创建表:

使用create table语句创建表:

必须给出以下信息:

新表的名字,在create table之后给出:

表列的名字和定义,用逗号隔开。


技术分享


实际的表定义(所有列)在圆括号中,各列之间用逗号分开。这个表由9列组成;每列是由列名开始,后跟列的数据类型。

表的主键可以再创建表时用PRIMARY KEY关键字指定。这里,cust_id指定作为主键列。整条语句由右圆括号后的分号结束。


在创建表时,可以指定这一表列是NULL列,或者是NOT NULL列;NULL列就是在插入时不给出该列的值也可以,NOT NULL列就是插入记录时必须给出该列的值。


主键必须唯一。如果使用单列,则它的值必须唯一;如果使用多个列,则这些值的组合值必须唯一。


创建多个列组成的主键时,应该以逗号分隔的列表给出各列名。


AUTO_INCREMENT:就是告诉mysql,本列每增加一行时自动增量,每次执行一个INSERT操作时,mysql自动对该列增量。


默认值,使用default关键字指定。


InnoDB是可靠的事务处理引擎;

MyISAM是性能极高的引擎,作为默认引擎,支持全文本搜索,但不支持事务处理。




三、基本命令----select命令相关


1、基本信息显示:

技术分享


2、显示表格中的列:

select column_name_list from table_name;

(1) 查询某几列:

select  name,sex,birth,birthaddr from mytable;


技术分享


(2)查询某一列:

select   name  from  mytable;

技术分享


(3) 显示某一列,并对这一列进行排序:

select  column_name from table_name   order by  column_name;

例子:

select name from mytable  order by name;

技术分享

上面默认情况下是升序排序,那么降序排序就是在命令的最后加上desc;

例子 select name from mytable  order by name desc;

技术分享


(4)只显示某列的某些行:

select  column_name from table_name  LIMIT    line_total;

显示列名为column_name的从第一行开始的共line_total行:

例子:

select   name  from mytable  LIMIT  2;

技术分享


显示某列,显示这个列的从某行开始的某些行,即设置显示的起始行,设置显示的总行数:

select name from mytable  LIMIT  line_total   OFFSET  line_index;

即从line_index+1行开始显示,共显示line_total行。

技术分享

上述中可以看出,从从第3行开始。


3、查询所有数据:


select * from mytable;

技术分享


4、显示特定行:

select  * from  table_name  where  colomn_name="name";

例子:

select  * from   mytable  where  name="Tom";

技术分享


通过组合条件显示特定行:

select * from table_name where  column_name1="value1" and  column_name2="value2";

例子:

select * from mytable where sex="f" and birthaddr="China"; 

技术分享


5、显示排序后的第一个或者最后一个:使用order by 和limit结合使用:

例如:显示年龄最小的人:

select * from mytable order by birth  desc limit 1;

技术分享


6、结合select和where句子指定的搜索条件进行过滤:

select  column_name_list  from table_name where column_name="value";

例子:

找出名字叫Tom的信息:

select * from mytable where name="Tom";

技术分享


7、select 语句有一个特殊的where子句,可以用来检查具有NULL的值的列,这个where子句就是is null子句:

select  column_name1 from table_name where column_name2 is null;

例子:

select  birthaddr from mytable where name is null;



技术分享




8、where子句:

允许多个where子句,这些子句以and子句的方式或者or子句的方式进行:

例如:

挑选name和sex都为NULL的记录:

select * from mytable where name is null and sex is null;

技术分享


当采用多个and 和 or运算符时,需要使用括号区分真实的逻辑。



四、LIKE操作符


1、百分号(%)通配符

%表示任何字符出现的次数。

例如挑出1987年10月出生的人:

select * from mytable where birth LIKE ‘1987-10%‘;

技术分享



2、下划线_通配符

匹配单个字符


3、删除左侧多余的空格:

RTrim()


4、删除右侧多余的空格:

LTrim()


5、转换大小写:

例如:select name, upper(name) as name_upper  from mytable order by name;

select name, lower(name) as name_lower from mytable order by name;

技术分享



五、汇总数据


1、聚集函数

这种类型的检索例子有以下几种:

            确定表中行数;

            获得表中行组的和;

            找出表列的最大值、最小值或者平均值。


技术分享



例如:

select  count(name) as total from mytable:

技术分享



六、文本搜索:

1、全文本搜索

使用两个函数match()和against()执行全文本搜索,其中match()指定被搜索的列,against指定要使用的搜索方式:



七、插入数据

1、语法结构:


insert   into    table_name( table info structure)   value( value_list);

例如:

insert  into   mytable( name, sex, birth, birthaddr) value( "Max", "m", "1886-11-06", "German");技术分享


2、可以插入多条数据,在同一个语句中:

insert  into mytable( name, birth, sex, birthaddr) value( "Linda", "2001-09-16", "f", "Russia"), ("Green", "1698-12-08", "m", "Italy");

技术分享



八、更新和删除数据

1、更新数据

更新特定行:使用where作为限定

更新所有行:不使用where


更新语句使用update语句:包含三部分:

           要更新的表;

           列名和它们的新值;

           确定要更新行的过滤条件;


update  表名  set  列名=“名字”   where   过滤条件

例子:

update mytable set  name="tt"  where   birthaddr="America"

   

技术分享



2、删除数据

使用delete语句:

从表中删除特定的行:需要加限定条件,即where语句;

从表中删除所有行;


技术分享




九、更改表结构

使用ALTER  TABLE语句更改表结构:


ALTER TABLE之后必须跟要更改的表名以及所做要更改的列表;


1、增加一个列:

例子:

ALTER  TABLE   mytable    ADD  height   float;


2、删除一个列:

例子:

ALTER TABLE mytable  drop column height;


技术分享



3、更改表名:

rename   table   旧表名  to 新表名




mysql搭建以及基本命令