一、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 新表名