“Mysql”的版本间差异
跳到导航
跳到搜索
(以“*安装和启动mysql服务 :yum install mysql :service mysqld start :service enable mysqld (开机启动) *设置mysql的root用户 :mysqladmin -uroot -p passwor...”为内容创建页面) |
无编辑摘要 |
||
(未显示同一用户的18个中间版本) | |||
第6行: | 第6行: | ||
*设置mysql的root用户 |
*设置mysql的root用户 |
||
:mysqladmin -uroot -p password 'newpassword' |
: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 |
|||
*建立某个[[数据库]]db1 |
|||
: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 |
|||
*从[[Fedora]] 18升级到[[Fedora]] 20的问题 |
|||
: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
- 建立某个数据库db1
- 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