测试积点老人 发表于 2018-12-14 16:50:56

基于mysql数据库的基础知识一

基于mysql数据库的基础知识

[*]显示当前服务器版本SELECTVERSION();
[*]显示当前日期时间   SELECTNOW();
[*]显示当前用户       SELECTUSER();
[*]登录数据库-----------------MySQL -uroot-p



数据库

[*]查看当前所有的数据库--------SHOW DATABASES;
[*]创建数据库------------------CREATE DATABASEtb1(数据库的名称)
[*]删除数据库-------------------DROP DATABASEtb1(数据库的名称)
[*]进入某个数据库--------------USE user(数据库的名称)
[*]查看当前所在的数据库--------SELECT DATABASE();
[*]查看当前数据库的数据表情况-------------SHOW TABLES FROMtb1(数据库的名称);
[*]更改数据库的名称--------------RENAMEDATABASE db_name TO new_db_name可能错的


扩展:
如果是MyISAM的话.只要修改DATA目录下面的那个库名的文件夹的名字就OK了
如果是INNODB的话.其实是无法修改库名的.网上瞎咧咧的什么RENAMEDATABASE或者ALTER DATABASE都是不行的
一种方法是比较保守的.直接把老库的内容mysqldump到新库里面
还有一种类似上面方法.先altertable 的存储引擎到MyISAM,然后改了库目录的名字,然后再改回来INNODB.
最后一种方法还是比较好的.这边详细写一下.
假设源库名是’srcdb’,目标库名是’trgdb’
首先创建目标库
createdatabase trgdb;
获取所有源库的表名
useinformation_schema;
selecttable_name from TABLES whereTABLE_SCHEMA=’srcdb’;
然后按照以下命令一个个修改
renametable srcdb. to trgdb.;
一个个执行下来之后表就转到新的库里面了.



数据表

[*]创建数据表-----------------CREATE TABLE table_name(id int not null primarykey);
[*]删除数据表------------------------DROP TABLESt6(数据表的名称)
[*]查看数据表的列表、结构、有的属性-------------SHOW COLUMNSFROM t1(数据表的名称);或许这里还有一个WHERE条件


修改数据表、表中的结构、属性
增、删、改、查

1.增
向数据表中插入(数据列)属性----------ALTER TABLEpersion数据表名称 ADD sex数据列名称VARCHAR(20)数据类型;

2.删
删除列的一些定义----------------ALTERTABLE persion数据表名称 DROP sex数据列名称 VARCHAR(20)数据类型;

3.修改数据表

添加单列
ALTER TABLE tbl_name ADDcol_name放在列前还是后的(这加上列的性质)(DEFAULT默认值最后或是不写)col_name1

添加多列
ALTER TABLE tbl_name ADD (col_name名columns_definition属性类型...)

删除列
ALTER TABLE tbl_name DROP col_name;

修改列定义,修改位置,修改属性
ALTER TABLE persion MODIFY username(及属性的定义)

修改列名称
ALTER TABLE persion CHANGE username1 username2;

修改表名
ALTER TABLE user1 RENAME user2;
RENAME TABLE user1 TO user2;

数据表数据


向数据表中的数据列插入数据---------------INSERTpersion(数据表的名称) (username数据表的列名)VALUES("name1数据名字")或是('···')


删除\更改-----------------DELETE FROMpersion表名字 where 条件语句...

删除数据
DELETE FROM persion数据表的名称 WHERE id=3(要删除的条件);

改/更新
···························································

更新记录
UPDATE persion SET age = age+5;

4.查
查看数据表中的数据信息-----------SELECT * FROMpersion(数据表的名称);

查找
SELECT username,id(数据表列名称) FROM persion(数据表名称);

把查询到的记录插入到别的表中
INSERT user(数据子表) SELECT username1 FROM user(数据父表) WHEREage>=30;

查询结果分组
GROUP BY sex=1;或是id等

分组条件
GROUP BY 1 HAVING age>35

对查询结果进行排序
SELECT * FROM user ODER BY id或是age DESC/ASC;

返回多少条查询结果
SELECT *FROM user LIMIT 3(从哪个位置开始),2(取多行的数据);
SHOW TABLES;

客户端以gbk的编码方式显示,不影响真实数据SETNAMES gbk;

\G;这个东西的 意思-------以表格的形式显示数据信息,在语句的后面加上\g



页: [1]
查看完整版本: 基于mysql数据库的基础知识一