TA的每日心情 | 无聊 4 天前 |
---|
签到天数: 530 天 连续签到: 2 天 [LV.9]测试副司令
|
基于mysql数据库的基础知识
- 显示当前服务器版本 SELECTVERSION();
- 显示当前日期时间 SELECTNOW();
- 显示当前用户 SELECTUSER();
- 登录数据库-----------------MySQL -uroot-p
数据库
- 查看当前所有的数据库--------SHOW DATABASES;
- 创建数据库------------------CREATE DATABASEtb1(数据库的名称)
- 删除数据库-------------------DROP DATABASE tb1(数据库的名称)
- 进入某个数据库--------------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.[tablename] to trgdb.[tablename];
一个个执行下来之后表就转到新的库里面了.
数据表
- 创建数据表-----------------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 ADD [column]col_name [FIRST | AFTER]放在列前还是后的(这加上列的性质)(DEFAULT默认值最后或是不写)col_name1
添加多列
ALTER TABLE tbl_name ADD [columns](col_name名columns_definition属性类型...)
删除列
ALTER TABLE tbl_name DROP [columns] 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的编码方式显示,不影响真实数据SET NAMES gbk;
\G; 这个东西的 意思-------以表格的形式显示数据信息,在语句的后面加上\g
|
|