“Mysql”的版本间差异

来自Shiyin's note
跳到导航 跳到搜索
无编辑摘要
无编辑摘要
 
(未显示同一用户的16个中间版本)
第14行: 第14行:
mysql> quit
mysql> quit


*建立某个数据库db1
*建立某个[[数据库]]db1
:mysql -u root -p
:mysql -u root -p
:password:***
:password:***
第31行: 第31行:


*从[[Fedora]] 18升级到[[Fedora]] 20的问题
*从[[Fedora]] 18升级到[[Fedora]] 20的问题
:mysql-server 变为 mariadb-server, mariadb-server 和 mariadb-galera-server有冲突,删除mariadb-galera-server即可.
:mysql-server 变为 mariadb-server, mariadb-server 和 mariadb-galera-server有冲突,删除mariadb-galera-server即可.

*查看MySQL的默认数据库存储位置:mysql> show variables like '%dir%';

==sql语言==
*select [expression] as [colname1],[expression] as [colname2],...;
:一个select产生数据库中的 一行,select 的数据并不存储
*create table [name] as [select statement];
:将select的数据存储为table
*select [columns] from [table] where [condition] order by [order];
*select [columns] from [table1],[table2]
:自动将两个table结合起来,记录数会变为N1*N2,如果两个表有相同的column名字,那么可以用table.column来区分
*[expression]可以有各种运算符:如+,-,*,/,%,and,or,abs,round,not,<,<=,>,>=,<>,!= 等
*字符串的处理:"hello,"|| "world" 就是 hello,world,还有substr(),instr()等命令
*有一些命令可以直接处理所有记录,如max,sum等,count,distinct
*group 处理部分选择的row(distinct的value)
:select [columns] from [table] group by [expression] having [expression]
*drop 删除数据库
*delete from db where :删除rows
*insert into db VALUES 在表中插入colomns
:insert into db(col) VALUES (value)
*update db SET cols=newvalue where

===[[Python]]中的sql===
*importsqlite3

2023年3月19日 (日) 08:32的最新版本

  • 安装和启动mysql服务
yum install mysql
service mysqld start
service enable mysqld (开机启动)
  • 设置mysql的root用户
mysqladmin -uroot -p password 'newpassword'
这种情况有时会报错,网上给出的方法是
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
mysql -u root -p
password:***
mysql>create database db1;
mysql>grant all on db1.* to dbuser@localhost identified by 'password'; (建立一个dbuser的数据库用户)
mysql>exit
  • 测试dbuser
mysql -u dbuser -p
  • 导入备份数据库
mysql -u root -p db1 < "data base backup file"
  • 备份数据库
mysqldump -u root -p 'pasword' db1 | gzip > /bak/db1.bakup.gz
mysql-server 变为 mariadb-server, mariadb-server 和 mariadb-galera-server有冲突,删除mariadb-galera-server即可.
  • 查看MySQL的默认数据库存储位置:mysql> show variables like '%dir%';

sql语言

  • select [expression] as [colname1],[expression] as [colname2],...;
一个select产生数据库中的 一行,select 的数据并不存储
  • create table [name] as [select statement];
将select的数据存储为table
  • select [columns] from [table] where [condition] order by [order];
  • select [columns] from [table1],[table2]
自动将两个table结合起来,记录数会变为N1*N2,如果两个表有相同的column名字,那么可以用table.column来区分
  • [expression]可以有各种运算符:如+,-,*,/,%,and,or,abs,round,not,<,<=,>,>=,<>,!= 等
  • 字符串的处理:"hello,"|| "world" 就是 hello,world,还有substr(),instr()等命令
  • 有一些命令可以直接处理所有记录,如max,sum等,count,distinct
  • group 处理部分选择的row(distinct的value)
select [columns] from [table] group by [expression] having [expression]
  • drop 删除数据库
  • delete from db where :删除rows
  • insert into db VALUES 在表中插入colomns
insert into db(col) VALUES (value)
  • update db SET cols=newvalue where

Python中的sql

  • importsqlite3