MySQL与SQL语句的操作

Posted 0xthonsun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL与SQL语句的操作相关的知识,希望对你有一定的参考价值。

mysql与SQL语句的操作

Mysql比较轻量化,企业用的是Oracle,基本的是熟悉对数据库,数据表,字段,记录的更新与修改

1. mysql基本信息

  • 特殊数据库:information_schema,performance_schema
  • 特殊的数据表:包含着数据库的信息与设置

2. MySQL基本操作

  • 连接:mysql -u username -h [ip] -p [password]

  • 增加用户:

  • 新增mysql用户:如果你需要添加 MySQL 用户,你只需要在 mysql 数据库中的 user 表添加新用户即可
[email protected]# mysql -u root -p
Enter password:*******
mysql> use mysql;
Database changed

mysql> INSERT INTO user 
(host, user, password, 
select_priv, insert_priv, update_priv) 
VALUES (‘localhost‘, ‘guest‘, 
PASSWORD(‘guest123‘), ‘Y‘, ‘Y‘, ‘Y‘);
Query OK, 1 row affected (0.20 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 1 row affected (0.01 sec)

mysql> SELECT host, user, password FROM user WHERE user = ‘guest‘;
+-----------+---------+------------------+
| host | user | password |
+-----------+---------+------------------+
| localhost | guest | 6f8c114b58f2ce9e |
+-----------+---------+------------------+
1 row in set (0.00 sec)
  • 另外一种添加用户的方法为通过SQL的 GRANT 命令,你下命令会给指定数据库TUTORIALS添加用户 zara ,密码为 zara123 。
[email protected]# mysql -u root -p password;
Enter password:*******
mysql> use mysql;
Database changed

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON TUTORIALS.* //数据库TUTORIALS下任意表
-> TO ‘zara‘@‘localhost‘
-> IDENTIFIED BY ‘zara123‘;

以上命令会在mysql数据库中的user表创建一条用户信息记录

  • 修改密码:
  • 管理工具:mysqladmin
  • 初始修改密码:mysqladmin -u root password "new_password";

    3. 数据库管理

  • 数据库的创建:create database_name;

  • 数据表的创建:熟悉内置的数据类型与修饰符

mysql> CREATE TABLE jser_tbl(
-> jser_id INT NOT NULL AUTO_INCREMENT,
-> jser_title VARCHAR(100) NOT NULL,
-> jser_author VARCHAR(40) NOT NULL,
-> submission_date DATE,
-> PRIMARY KEY ( jser_id )
-> );
Query OK, 0 rows affected (0.16 sec)
  • 插入数据
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
  • 查询数据
select * from table_name where id=‘$id‘ and username=‘$user‘;
select column_name,... from tabl_name oreder by column_name;
SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE Clause]
[OFFSET M ][LIMIT N];//设置指针跳的长度,取出记录个数
SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]];//排序
  • 更新数据
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause];
update table_name set field1=field1+|-num where [options];
  • 删除记录(记录是行,字段是列)
delete from table_name where [options];
  • 修改表结构
    命令使用了 ALTER 命令及 DROP 子句来删除以上创建表的 i 字段:
ALTER TABLE testalter_tbl DROP i;

使用 ADD 子句来想数据表中添加列,如下实例在表 testalter_tbl 中添加 i 字段,并定义数据类型:

ALTER TABLE testalter_tbl ADD i INT;

把字段 c 的类型从 CHAR(1) 改为 CHAR(10),可以执行以下命令:

ALTER TABLE testalter_tbl MODIFY c CHAR(10);
  • show databases;

  • use databases;

  • show tables;

  • desc table)name;

4.php与mysql函数操作

  • 连接
connection mysql_connect(server,user,passwd,new_link,client_flag);//返回一个连接句柄
$link = mysqli_connect("localhost","root","");
if($link){
echo "success";
}
  • 选定数据库:
mysqli_query($link,"set name utf8");
mysqli_select_db($link,$database);
  • 执行SQL语句
    ```php
    $result=mysqli_query($link,$sql);//返回一个对象?



以上是关于MySQL与SQL语句的操作的主要内容,如果未能解决你的问题,请参考以下文章

MySQL基本SQL语句之高级操作

Oracle与MySQL的SQL语句区别

SQL Select 语句的用法

程序中使用嵌套的sql语句和在数据库中写存储过程调用它,有啥区别?

Mysql表读写索引等操作的sql语句效率优化问题

MySQL的SQL语句 - 数据操作语句(13)- 子查询(10)