mysql不区分大小写
数据库操作
以root用户身份登陆mysql;
mysql> mysql -u root;
查看MYSQL数据库中所有用户
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
concat:内置字符串连接函数;
as:查询结果列的别名;
‘’:连续两个英文单引号,转义输出一个引号。
简单点的查询方式就是:
Select user,host from mysql.user;
显示所有的数据库
mysql> show databases;(注意:最后有个 s)
创建数据库
mysql> create database cutebaby;
连接数据库
mysql> use test;
查看当前使用的数据库
mysql> select database();
当前数据库包含的表信息
mysql> show tables; (注意:最后有个 s)
删除数据库
mysql> drop database test;
表操作
备注:操作之前使用“use <数据库名>”应连接某个数据库。
建表
命令:create table <表名> (<字段名 1> <类型 1> [,..<字段名 n> <类型 n>]);
例子:
mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> age int(4) not null default '18',
> degree double(16,2));
获取表结构
命令: desc 表名,或者show columns from 表名
例子:
mysql> describe MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;
插入数据
命令:insert into <表名> [( <字段名 1>[,..<字段名 n > ])] values ( 值 1 )[, ( 值 n )]
例子:
mysql> insert into MyClass values(1,'Tom',19,96.45),(2,'Joan',20,82.99), (3,'Wang', 21,96.59);
查询表中的数据
查询所有行
mysql> select * from MyClass;
查询前几行数据
例如:查看表 MyClass 中前 2 行数据
mysql> select * from MyClass limit 2;
例如:查看表 MyClass 中从第1行起,后面2行数据(上面那个默认就是从0行起,后面2行数据)
mysql> select * from MyClass limit 1,2;
修改表中数据
命令:update 表名 set 字段=新值,... where 条件
mysql> update MyClass set name='jx' where id=1;
在表中增加列
命令:alter table 表名 add column 字段 类型 其他;
例如:在表 MyClass 中添加了一个字段 int,类型为 char,默认值为 0
mysql> alter table MyClass add column sex char default '0' after name;
After name:在name列后插入,没有after语句的话,默认插在最后一列;
在表中修改列名
mysql> alter table myclass change degree score double;
double为对应列的类型。
删除表中的某一个列
mysql> alter table myclass drop sex;
删除表中数据
命令:delete from 表名 where 表达式
例如:删除表 MyClass 中编号为 1 的记录
mysql> delete from MyClass where id=1;
清空表
mysql>delete from myclass;
更改表名
命令:rename table 原表名 to 新表名;
例如:在表 MyClass 名字更改为 YouClass
mysql> rename table MyClass to YouClass;
删除表
命令:drop table <表名>
例如:删除表名为 MyClass 的表
mysql> drop table MyClass;