Linux下MYSQL数据库的基本操作

1.建立数据库:

      mysql> create database test;  //建立一个名为"test"的数据库

2.建立数据库表:

      mysql> create table test

         -> (name char(16) not null,

         -> passwd char(16)

         ->);            //建立一个名为"test"的表,里面有两个字段,一个字段名为“name”,类型为char,大小为16,非空;另一个字段名为“passwd”,也是char类型,大小为16,可以为空。

3.查找表中的元素:

      mysql> select * from test;          //查找“test”表中的所有的元素。

4.向表中插入元素:

      mysql> insert into test values('asd','123');  //向“test”表中插入name为“asd”,passwd为“123”的这么一个数据。

5.删除表中的元素:

      mysql> delete from test where name='ásd';  //删除“test”表中,name为“asd”的数据。

6.修改表中的元素:

      mysql> update test set passwd="111" where name="asd"  //把“test”表中,name为"asd"的数据的密码改为"111"。

7.修改数据库密码:

      mysql> set password=PASSWORD('123456');        //将数据库密码设置为123465。

      mysql> flush privileges;

8.显示数据库里面某一个表的所有字段的详细信息

      mysql> desc test;                      //显示表test的元素的详细信息,字段名称,属性,大小等。

9.查询数据库的端口:

      mysql> show variables like 'port';              //显示数据库的当前接口。

10.向已经建好的表里的加主键:

      mysql> alter table test add primary key(name);       //把name变成test表的主键。

11.删除已存在的表:

      mysql> drop table test;                   //删除名为test表。

12.删除已存在的数据库:

      mysql> drop database test;                 //删除名为test的数据库。

 13.实现两个表之间的外联:

      外联分两种左外联和右外联。左外联就是以左边的表为主提取数据,如果左边出现,右边没有,则提取的数据的右面为空。右外联与左外联相反,即:A左外联B=B右外联A。

      select A.id,B.id from A left join B on A.id=B.id  //相当于select A.id,B.id from B right join A on A.id=B.id;

14.嵌套查询:

      mysql> select * from A where id in(select id from B where name='Alen');  //把A中id为B中用户名为"Alen"查询的结果的数据显示出来(感觉有点绕···)。

15.修改数据库表中的某一列的数据类型:

      mysql> alter table test modify passwd int;    //把test表中passwd这一列的类型改为int。

16.为数据库设置默认值:

      mysql> create table user(

          id int not null default 0,          //‘id’的默认值设为0

          name char(32) default "hehe",       //‘name’的默认值设为‘hehe’,因为name是char类型的,所以默认值必须加引号

          date timestamp default now()       //‘date’的默认值设为当前系统时间。因为datetime和date不能通过系统函数now()等获得值,所以date类型必须设为timestamp

          );

17.删除数据库表中的已存在的某个字段:

      alter table table_name drop 字段名;

18.如何查看mysql数据库的编码方式:

      mysql> show variables like 'character_set_database';

 19.如何查询两个时间段之间的所有数据:

      mysql> select * from user where date between str_to_date('2014-06-10','%Y-%m-%d') and str_to_date('2014-06-11','%Y-%m-%d');  //从user表中查询注册时间在'2014-06-10'至'2014-06-11'的所有用户。

20.显示数据库的创建信息:

      mysql> show create table user;    //显示user表的创建信息,包括创建时默认的信息。

21.为数据库表建立索引:

      mysql> create index user_id on user(id);  //在user表上为‘id’字段创建‘user_id’索引。

22.显示数据库表的索引:

      mysql> show index from user;       //显示‘user’表上的所有索引。

23.删除索引:

      mysql> drop index user_id on user;     //删除‘user’表上‘user_id’索引。

24.查询mysql正在执行和等待执行的sql语句

      mysql> show processlist;          //显示mysql执行或等待执行的sql命令,默认显示前100条。、

25.将date时间转化为时间戳

      UNIX_TIMESTAMP(‘2013-03-06 11:10:00’)

26.将时间戳转化为date时间

      FROM_UNIXTIME(时间戳)

27.将时间转化成字符串

      mysql> UPDATE user set str= STR_TO_DATE(str,'%Y-%m-%d %H:%i:%s');

28.将字符串转化为时间

      mysql> UPDATE user set str = DATE_FORMAT(time,'%Y-%m-%d %H:%i:%s');

29.清空数据库表

      mysql> truncate table test;      //相当于drop掉之后重新建表

      或者

      mysql> delete from test;        //相当于逐条删除记录

30.让表的某个字段的内容对大小写敏感

      mysql> alter table test modify name varchar(64) binary NOT NULL DEFAULT "";

31.MySql建表的存储过程

      http://www.cnblogs.com/asif/p/5280808.html

32.MySql的数据导入

      mysql> use test;

      mysql> source table1.sql;

      //在登录状态下,然后选择数据库进行数据导入

33.MySql数据的备份

      1、数据库数据的备份

      mysqldump -u root -p dataname > dataname.sql

      2、数据库表的备份

      mysqldump -u root -p dataname table > dataname_table.sql 

      3、数据库表结构的备份

      mysqldump -u root -p -d –add-drop-table database > db.sql

      //这三个都是在终端下执行的命令,不用登录MySql

原文地址:https://www.cnblogs.com/asif/p/3714106.html