码迷,mamicode.com
首页 > 数据库 > 详细

mysql的常用操作

时间:2018-05-15 00:24:33      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:select   str   ted   存储引擎   针对   pre   作文件   基本   重点   

基本操作

#1 操作文件夹(库)
    增
        create database db1 charset utf8;   --指定格式为utf8

    查
        show databases;        --查看所有的数据库
        show create database db1; --查看已经建好的数据库信息
    改
        alter database db1 charset gbk; --修改数据库的字符编码
    删
        drop database db1;
    其他
        use database_name;  ---使用某个数据库,相当于进入这个数据库(文件夹)
        select database();  ---显示当前所在的数据库

#2 操作文件(表)

    切换到文件夹下:use db1

    增
        create table t1(id int,name char(10))engine=innodb;--增加一个表,后面追加了他的数据引擎
        create table t2(id int,name char(10))engine=innodb default charset utf8;--增加一个表,后面追加了他的数据引擎和
    查
        show tables;--查看表中的所有表
        show create table t1; --查看已有的表的类型和desc功能差不多,就是表先形式不好。

        desc t1;---查看表结构
    改
        alter table t1 add age int; -----------------给已有的表中添加字段(重点)
            列:alter table ti add 添加的名 类型;
        alter table t1 modify name char(12); --------修改字段的类型。
        rename table 原表名 to 新表名   -------------修改表名
       ---------------------------------------------------------------
        2.修改字段 (以t2表为例)
        alter table t2 modify salary int not null;   # 更改salary字段的数据类型,并加not null的约束条件。
        alter table t2 change salary salaries int;   # 更改salary字段的名字为salaries,注意 会改变约束条件,需要的话,需要添加;
                                                   其实相当于删除了salary字段,重新创建了一个salaries字段。

    删
        drop table t1; --直接删除一个表。

#3 操作文件的一行行内容(记录)
    增
        insert into db1.t1 values(1,egon1),(2,egon2),(3,egon3);
        insert into db1.t1(name) values(egon1),(egon2),(egon3);
    查
        select * from t1;
        select name from t1、、、、、、;
        select name,id from t1;
    改
        update t1 set name=SB where id=4;
+        update t1 set name=SB where name=alex;
    删
        delete from t1 where id=4;


        #对于清空表记录有两种方式,但是推荐后者
        delete from t1;
        truncate t1; #当数据量比较大的情况下,使用这种方式,删除速度快



    #自增id
    create table t5(id int primary key auto_increment,name char(10));
    create table t4(id int not null unique,name char(10));

insert into t5(name) values
(egon5),
(egon6),
(egon7),
(egon8),
(egon9),
(egon10),
(egon11),
(egon12),
(egon13);

#拷贝表结构
create table t7 select * from t5 where 1=2;
alter table t7 modify id int primary key auto_increment;

insert into t7(name) values
(egon1),
(egon2),
(egon3),
(egon4),
(egon5),
(egon6),
(egon7),
(egon8),
(egon9),
(egon10),
(egon11),
(egon12),
(egon13);


delete from t7 where  id=1; #删记录
update t7 set name=‘‘; #修改字段对应的值

 

 

练习

语法:
1. 修改表名
      ALTER TABLE 表名 
                          RENAME 新表名;

2. 增加字段
      ALTER TABLE 表名
                          ADD 字段名  数据类型 [完整性约束条件…],
                        ADD 字段名  数据类型 [完整性约束条件…];
    ALTER TABLE 表名
                          ADD 字段名  数据类型 [完整性约束条件…]  FIRST;
    ALTER TABLE 表名
                            ADD 字段名  数据类型 [完整性约束条件…]  AFTER 字段名;
                            
3. 删除字段
      ALTER TABLE 表名 
                                    DROP 字段名;

4. 修改字段
      ALTER TABLE 表名 
                          MODIFY  字段名 数据类型 [完整性约束条件…];
      ALTER TABLE 表名 
                          CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];
      ALTER TABLE 表名 
                          CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];

示例:
1. 修改存储引擎
mysql> alter table service 
    -> engine=innodb;

2. 添加字段
mysql> alter table student10
    -> add name varchar(20) not null,
    -> add age int(3) not null default 22;
    
mysql> alter table student10
    -> add stu_num varchar(10) not null after name;                //添加name字段之后

mysql> alter table student10                        
    -> add sex enum(male,female) default male first;          //添加到最前面

3. 删除字段
mysql> alter table student10
    -> drop sex;

mysql> alter table service
    -> drop mac;

4. 修改字段类型modify
mysql> alter table student10
    -> modify age int(3);
mysql> alter table student10
    -> modify id int(11) not null primary key auto_increment;    //修改为主键

5. 增加约束(针对已有的主键增加auto_increment)
mysql> alter table student10 modify id int(11) not null primary key auto_increment;
ERROR 1068 (42000): Multiple primary key defined

mysql> alter table student10 modify id int(11) not null auto_increment;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

6. 对已经存在的表增加复合主键
mysql> alter table service2
    -> add primary key(host_ip,port);        

7. 增加主键
mysql> alter table student1
    -> modify name varchar(10) not null primary key;

8. 增加主键和自动增长
mysql> alter table student1
    -> modify id int not null primary key auto_increment;

9. 删除主键
a. 删除自增约束
mysql> alter table student10 modify id int(11) not null; 

b. 删除主键
mysql> alter table student10                                 
    -> drop primary key;

 

常用的查询语句:

1、字符串的模糊查询:

SELECT * FROM tb_stu WHERE sname = ‘小刘‘
SELECT * FROM tb_stu WHERE sname like ‘刘%‘
SELECT * FROM tb_stu WHERE sname like ‘%程序员‘
SELECT * FROM tb_stu WHERE sname like ‘%PHP%‘

2、查询前n条记录

select *  from class LIMIT 2,4;

limit 后面是从,之前是从哪里开始,后面是查询几条数据

3、查询从指定位置开始的n条记录

SELECT * FROM tb_stu ORDER BY id ASC LIMIT $n


$n是倒数的索引位置

4、 查询从指定位置开始的n条记录

SELECT * FROM tb_stu ORDER BY id ASC LIMIT $_POST[begin],$n

5、查询非空数据

SELECT * FROM tb_name WHERE address <>‘‘ order by addtime desc

6、显示数据表中重复的记录和记录条数

SELECT name,age,count(*) ,age FROM tb_stu WHERE age = ‘19‘ group by date

 group by是以什么分组

7、十八对数据进行降序/升序查询 

 SELECT 字段名 FROM tb_stu WHERE 条件 ORDER BY 字段 DESC     降序

 SELECT 字段名 FROM tb_stu WHERE 条件 ORDER BY 字段 ASC       升序

ORDER BY是排序
DESC     降序
ASC      升序

  

 

 

mysql的常用操作

标签:select   str   ted   存储引擎   针对   pre   作文件   基本   重点   

原文地址:https://www.cnblogs.com/806939095xbb/p/7491388.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!